Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana] Problem z przekazywaniem danych z/do kontrolera
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam,
mam pewien problem. Na stronie chciałbym mieć menu, które będzie pobierane z bazy danych. Chciałbym aby to menu było automatycznie generowane i wstawiane do szablonu. Nie mogę sobie poradzić z pełną automatyzacją tego zadania.
MY_Controller.php
  1. <?php
  2. class Controller extends Controller_Core {
  3. public function __construct() {
  4. parent::__construct();
  5.  
  6. $this->template = Config::item('shop.views').'/template';
  7.  
  8. // zbedny kod
  9.  
  10. $this->getMenu();
  11. }
  12.  
  13. protected function getMenu() {
  14. $this->menu = new View('_global/menu');
  15. $this->menu = $this->menu->render();
  16. }
  17. }
  18. ?>

oraz przykładowy plik kontrolera:
  1. <?php
  2. class Registration_Controller extends Template_Controller {
  3. public function index() {
  4. // zbedny kod
  5.  
  6. $this->template->content = $form->html('_global/registration/form', true);
  7. $this->template->menu = $this->menu;
  8. }
  9. }
  10. ?>

W template.php wyświetlam menu poprzez:
  1. <?= $menu ?>

W takiej formie wszystko działa poprawnie. Chciałbym jednak pozbyć się przypisania $this->template->menu w każdym kontrolerze. Próbowałem na różne sposoby, m.in.:
  1. <?php
  2. class Controller extends Controller_Core {
  3. public function __construct() {
  4. parent::__construct();
  5.  
  6. $this->template = new View(Config::item('shop.views').'/template');
  7.  
  8. // zbedny kod
  9.  
  10. $this->getMenu();
  11. }
  12.  
  13. protected function getMenu() {
  14. $this->menu = new View('_global/menu');
  15. $this->template->menu = $this->menu->render();
  16. }
  17. }
  18. ?>

ale za każdym razem otrzymuję nieznaną zmienną $menu (odpowiedni wpis z samego kontrolera oczywiście usunąłem). Jak rozwiązać ten problem?

Reasumując: w głównym szablonie chciałbym wczytać menu, które będzie generowanie dynamicznie na podstawie bazy danych (coś a'la komponent w Symfony).

Pozdrawiam,
pion
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:44