Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana]Kohana->menu->zmiana widoków
Forum PHP.pl > Forum > PHP > Frameworki
elita4all
Panie, Panowie raczkuję baaaardzo. Jak elegancko zrobić, żeby po kliknięciu w <oferta> też było widoczne menu, (ewentualny head, title). Chyba, że z takim kontrolerem już nie da rady nic elegancko zrobić?

classes/controller/index.php
Kod
<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Index extends Controller {
public function action_index()
    {    
     $main_menu = new View('main_menu');
                $main_menu->options = array(
              array(
                 'option_name'        => 'Strona główna',
                 'option_url'        => 'index'                
                   ),
              array(
                 'option_name'        => 'Oferta',
                 'option_url'        => 'oferta'                           
                   )
    
                );
                $view = new View('index');                
                $view->main_menu = $main_menu->render();
                $view->title = 'Witaj!';
                $this->request->response = $view->render();          

    }
}


classe/controller/oferta.php
Kod
<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Oferta extends Controller_Index {

public function action_index()
    {
    }    
}


views/index.php
Kod
<TABLE WIDTH=800 BORDER=1>
  <TR HEIGHT=30>
    <TD><?=$main_menu;?></TD>
  </TR>
  <TR HEIGHT=500>
    <TD><?=$title;?></TD>
  </TR>
</TABLE>

phpion
W KO3 są bodajże metody uruchamiane przed i po wykonaniu kontrolera. Najlepiej więc jeśli dasz kod z Controller_Index::action_index() do metody uruchamianej przed samym kontrolerem. Jeśli jednak czegoś takiego nie ma to:
1. Wrzuć ten kod do konstruktora, ale pamiętaj o wywołaniu konstruktora nadrzędnego (lepsze rozwiązanie).
2. Do metody Controller_Oferta::action_index() dodaj parent::action_index() co wywoła jeszcze metodę z klasy nadrzędnej (gorsze rozwiązanie).
elita4all
dzięki, wstawiłem do kontrolera i jest OK. Before w KO3 jest, ale póki nie muszę nię będę się uzależniał (od KO3) smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.