Dodatkowy kontroler w komponencie
Wyniki 1 do 9 z 9

Temat: Dodatkowy kontroler w komponencie

  1. #1
    atomp3
    Gość

    Domyślny Dodatkowy kontroler w komponencie

    Czy ktos wie jak wywolac dodatkowy kontroler?

    Dzieki.

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    atomp3
    Gość

    Domyślny

    udalo mi sie rozwiazac ten problem jak cos to PW

  4. #3
    Wiarus
    Dołączył
    20-11-2007
    Wpisy
    2 924
    Punkty
    51

    Domyślny

    Cytat Wysłane przez atomp3 Zobacz wiadomość
    udalo mi sie rozwiazac ten problem jak cos to PW
    A nie można tutaj? Będziesz odpowiadał na te setki PM w tej sprawie? ;) Nie lepiej raz krótko na forum.

  5. #4
    Bywalec
    Dołączył
    11-07-2008
    Wpisy
    327
    Punkty
    29

    Domyślny

    Po pierwsze musisz mieć w głównym pliku komponentu coś w tym stylu.
    Kod:
    if($controller = JRequest::getVar('controller'))
    {    
        require_once(JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php'); 
    }
    Funkcja require_once służy w tym przypadku do zaimportowania pliku z katalogu 'controllers' o nazwie wskazanej jako wartość klucza controller. Zanim będziesz wywoływał cokolwiek musisz mieć utworzony katalog controllers w katalogu głównym komponentu i utworzyć w nim nowy kontroler.

    Jeśli chcesz wywołać kontroler możesz np. napisać tak
    Kod:
    <a href="index.php?option=com_mojkomonent&controller=new">Nowy komponent</a>
    lub np. w formularzu
    Kod:
    <input type="hidden" name="controller" value="new" />
    <input type="hidden" name="task" value="funkcja_kontrolera_new" />
    Możesz również zrobić to na inne sposoby podając jako klucz 'controller' a jako wartość nazwę pliku bez rozszerzenia.

    Też próbowałem z kilkoma kontrolerami ale doprowadziło to tylko do zamieszania.
    Ostanio edytowane przez vego007 : 29-07-2008 11:23

  6. #5
    atomp3
    Gość

    Domyślny

    Dzieki za info sam doszedlem jak to zrobic wystarczylo extendowac domyslnego kontrolera i wszytskie funkcje byly dostepne.

    Moja aplikacja dzieki sie an 2 czesci wiec 2 kontroler ma swoje uzasadnienie.

    Jak mozesz to wyslij mi swojego meila na PW mozemy sie wymienic doswiadczeniami.

    Pozdr.

  7. #6
    Nowicjusz
    Dołączył
    18-01-2007
    Wpisy
    15
    Punkty
    10

    Domyślny

    No co za anty społecznościowy człek ten Atomp3. Niczym się na forum nie podzieli, a tylko pyta. Nadużywa PW do dyskusji na temat, który powinien omówić w założonym przecież do tego celu wątku na forum. Natomiast w wątku wypisuje całkiem prywatne dyrdymały o chęci prywatnego kontaktu z innym uzytkownikiem.

    Jak chcesz sobie z kimś prywatnie pogadać, to napisz do niego na to chol*rne ulubione przez Ciebie PW. Tej chęci kontaktu z kimś konkretnym akurat nie musisz wszystkim obwieszczać na forum.

    Zachowujesz się tak jakby ktoś brał udział w dyskusji w pewnej grupie, gdzie gdy ktoś coś wie, wygłasza swoją opinię i dzieli się swą wiedzą. Ale trafi się taki Atomp3, który tylko pyta, a gdy się czegoś dowie, to zachowując się niekulturalnie szepcze tylko niektórym do ucha sugerujac jednocześnie, że coś wie. Jednak wszystkim zgromadzonym na forum, z jakiś wiadomych tylko sobie powodów, nie ma zamiaru tego powiedzieć.

    Piszę na forum, a nie prywatnie do Atomp3, bo niestety taka praktyka anty forumowa, łamiąca de facto idee forów wcale nie jest taka rzadka.

  8. #7
    atomp3
    Gość

    Domyślny

    Cytat Wysłane przez isteata Zobacz wiadomość
    No co za anty społecznościowy człek ten Atomp3. Niczym się na forum nie podzieli, a tylko pyta. Nadużywa PW do dyskusji na temat, który powinien omówić w założonym przecież do tego celu wątku na forum. Natomiast w wątku wypisuje całkiem prywatne dyrdymały o chęci prywatnego kontaktu z innym uzytkownikiem.

    Jak chcesz sobie z kimś prywatnie pogadać, to napisz do niego na to chol*rne ulubione przez Ciebie PW. Tej chęci kontaktu z kimś konkretnym akurat nie musisz wszystkim obwieszczać na forum.

    Zachowujesz się tak jakby ktoś brał udział w dyskusji w pewnej grupie, gdzie gdy ktoś coś wie, wygłasza swoją opinię i dzieli się swą wiedzą. Ale trafi się taki Atomp3, który tylko pyta, a gdy się czegoś dowie, to zachowując się niekulturalnie szepcze tylko niektórym do ucha sugerujac jednocześnie, że coś wie. Jednak wszystkim zgromadzonym na forum, z jakiś wiadomych tylko sobie powodów, nie ma zamiaru tego powiedzieć.

    Piszę na forum, a nie prywatnie do Atomp3, bo niestety taka praktyka anty forumowa, łamiąca de facto idee forów wcale nie jest taka rzadka.
    Nalezalo mi sie ;)

    Generalnie jest jak kolega wyzej napisal. Kontroler mozna uruchomic bezposrednio odwolujac sie do niego w linku:

    index.php?options=new_component&controller=new_con troller

    lub tez poprzez pole hidden w formularzu:

    <input type="hidden" name="controller" value="new_controller">

    Warto stosowac wiele kontrolerow jesli logika danej aplikacji tego wymaga przyklad:
    -samochody kontroler1
    dodaj()
    usun()
    edytuj()
    -motocykle kontroler 2
    dodaj()
    usun()
    edytuj()

    W ten sposob nie musimy kombinowac w nazewnictwie.

    W razie pytan prosze pisac na Forum

    Pozdr.

  9. #8
    Bywalec
    Dołączył
    11-07-2008
    Wpisy
    327
    Punkty
    29

    Domyślny

    Cytat Wysłane przez atomp3 Zobacz wiadomość

    Warto stosowac wiele kontrolerow jesli logika danej aplikacji tego wymaga przyklad:
    -samochody kontroler1
    dodaj()
    usun()
    edytuj()
    -motocykle kontroler 2
    dodaj()
    usun()
    edytuj()
    "Warto' to troche za dużo powiedziane. Można przecież stworzyć kontroler pojazdy i w instrukcji if albo switch wykonać odpowiedni fragment kodu. Przecież od strony implementacji metody wskazane przez Ciebie nie będą się różnić poza importem innego modelu. Stosowanie kilku kontrolerów może mieć korzyści gdy mamy komponent, który składa się z dwóch lub większej ilości niezależnych części i ich metody znacząco się od siebie różnią. No ale każdy robi tak jak mu wygodniej

  10. #9
    atomp3
    Gość

    Domyślny

    Cytat Wysłane przez vego007 Zobacz wiadomość
    "Warto' to troche za dużo powiedziane. Można przecież stworzyć kontroler pojazdy i w instrukcji if albo switch wykonać odpowiedni fragment kodu. Przecież od strony implementacji metody wskazane przez Ciebie nie będą się różnić poza importem innego modelu. Stosowanie kilku kontrolerów może mieć korzyści gdy mamy komponent, który składa się z dwóch lub większej ilości niezależnych części i ich metody znacząco się od siebie różnią. No ale każdy robi tak jak mu wygodniej
    No właśnie jest tak jak napisałeś jak komu wygodniej ale stosując switcha odchodzimy bardziej od MVC i kod staje sie mniej czytelny, przy bardziej rozbudowanej aplikacji.

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •