"Start > mój komponent" - jak utrzymać ścieżkę w trakcie pracy komponentu
Wyniki 1 do 5 z 5

Temat: "Start > mój komponent" - jak utrzymać ścieżkę w trakcie pracy komponentu

  1. #1
    Nowicjusz
    Dołączył
    09-01-2006
    Wpisy
    21
    Punkty
    10

    Domyślny "Start > mój komponent" - jak utrzymać ścieżkę w trakcie pracy komponentu

    Przy wywołaniu komponentu ładnie się pojawia, ale jeżeli ze strony głównej komponentu przechodzę do wykonania innego zadania i $task realizuje inną funkcję komponentu, pozostaje już tylko "Start".
    O przekazaniu jakiej zmiennej Joomlowskiej zapomniałem? ($option przekazuję oczywiście)

  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
    Opiekun forum
    Dołączył
    19-09-2005
    Wpisy
    3 743
    Punkty
    131

    Domyślny

    Brakuje ci Itemid

  4. #3
    Nowicjusz
    Dołączył
    09-01-2006
    Wpisy
    21
    Punkty
    10

    Domyślny

    $Itemid przekazywałem jeszcze przed opisaniem problemu, ale przy wywołaniu funkcji z komponentu otrzymywałem komunikat:

    "Treść którą chcesz zobaczyć nie istnieje. Proszę wybrać inny element z nawigacji"

    Dla przykładu plik x.php
    Kod:
    require_once( $mainframe->getPath( 'front_html' ) );
    
    
    switch( $task ) {
        case 'new':
            HTML_carmart::nowe($option, $Itemid);
            break;
    
        default:
            HTML_carmart::brak($option, $Itemid);
            break;
    Plik x.html.php
    Kod:
    class HTML_carmart {
    
       function brak($option, $Itemid) {
          
          ...
          <form action="index.php" method="post" name="adminForm">
          <div class="carmart_menu" align="right">
          <?php
          mosMenuBar::startTable();
          mosMenuBar::addNew('new', 'Nowe');
          mosMenuBar::editList('edit', 'Edytuj');
          mosMenuBar::publish('publish');
          mosMenuBar::unpublish('unpublish');
          mosMenuBar::deleteList( ' ', 'delete', 'Usuń' );
          mosMenuBar::endTable();
          ?>
          </div>
          <input type="hidden" name="option" value="<?php echo $option;?>"/>
          <input type="hidden" name="option" value="<?php echo $Itemid;?>"/> // poprawione na Itemid
          <input type="hidden" name="task" value="new" />
           </form>
          
          <?php
     
       }
       
       function nowe($option, $Itemid) {
       
       ?>
       <div class="carmart_menu" align="right">
       <?php
       mosMenuBar::startTable();
       mosMenuBar::addNew('new', 'Nowe');
       mosMenuBar::editList('edit', 'Edytuj');
       mosMenuBar::publish('publish');
       mosMenuBar::unpublish('unpublish');
       mosMenuBar::deleteList( ' ', 'delete', 'Usuń' );
       mosMenuBar::endTable();
       
       ...
    Ostanio edytowane przez DarkOfTheMoon : 24-02-2006 18:44

  5. #4
    Nowicjusz
    Dołączył
    09-01-2006
    Wpisy
    21
    Punkty
    10

    Domyślny

    Pozwoliłem sam sobie odpowiedzieć na część problemu aby nie umknęło i nie wprowadzało niepotrzebnego zamieszania. Otóż przytoczony komunikat błędu spowodowany został moim błędem w nazewnictwie zmiennych przekazywanych w formularzu (zaznaczyłem w kodzie na czerwono). Po korekcie zmienna jest już poprawnie przekazywana do funkcji bez nikakich problemów.

    Niestety pomimo przekazania $option oraz $Itemid, ścieżka zmienia się z "Start > mój_komponent" na "Start"...

  6. #5
    Nowicjusz
    Dołączył
    09-01-2006
    Wpisy
    21
    Punkty
    10

    Domyślny Rozwiązanie

    Kończąc pisanie poprzedniego posta, pomyślałem sobie o jeszcze jednej możliwości - może dane pobierane są z globalnej GET a nie POST. Zmieniłem metodę przesyłania formularza na GET i zadziałało!

    I takie to już moje szczęście na tym forum, sam zaczynam i sam kończę... Niech służy innym!

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
  •