Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [symfony] Komponent dostępny poza modułem
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 Was!
Na wstępie nadmienię, że sporo szperałem po manualu i forum Symfony, a także po googlach jednak nie znalazłem odpowiedzi na mój problem.
Otóż mam moduł 'category'. W nim utworzyłem komponent budujący drzewo kategorii i wyświetlający je w postaci listy <select> odpowiednio sformatowanej (wcięcia). Komponent umieściłem w layout.php gdyż chciałbym aby był dostępny zawsze:
layout.php
  1. <?php include_component('category', 'treeSelect', array('parentId' => 0)); ?>

Przy przeglądaniu kategorii wszystko jest ok, lista wyświetla się poprawnie. Problem pojawia się przy użyciu innego modułu (np. przy logowaniu z użyciem sfGuard). Dostaję wówczas błąd:
Kod
[sfRenderException]
The template "/_treeSelectOption.php" does not exist

Rozumiem, że komponent szukany jest w katalogu szablonów dla aktualnie żądanego modułu.
Moje pytanie brzmi: w jaki sposób uczynić komponent dostępny poza modułem, do którego należy? Taki jakby globalny partial.
Pozdrawiam: pion

Ten post edytował phpion.com 31.08.2007, 21:47:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


To że komponent znajduje się w jednym module nie znaczy, że nie możesz go użyć w innym.
Gdyby tak było to po co by był pierwszy parametr w funkcji include_component(), który przecież mówi z jakiego modułu zaciągamy komponent.

Zrób normalnie komponent (umieszczając pliki i nazywając ja w taki sposób jak należy) i będziesz miał do niego dostęp zawsze.
Na przykład w jakimś widoku z, dajmy na to, modułu Photo zawsze możesz napisać:
  1. <?php
  2.  
  3. include_component('category', 'treeSelect', array('parentId' => 0));
  4.  
  5. ?>
i w ten sposób użyjesz komponentu treeSelect z modułu category
Go to the top of the page
+Quote Post
phpion
post
Post #3





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




sciana.gif
Ślepy jestem... błąd przecież dotyczył _treeSelectOption, który to jest włączany w samym _treeSelect. W nim brakowało określenia modułu tj. brakło 'category/'. Dupa ze mnie. Sorry za bezsensowny post... i dzięki za pomoc smile.gif
PS: właśnie ten pierwszy parametr nie dawał mi spokoju - po co by był jeśli nie możnaby wykorzystać komponentu poza jego modułem winksmiley.jpg
PS2: a 10 linijek niżej miałem:
  1. <?php include_component('category', 'menu', array('parentId' => null)); ?>

co działało poprawnie. sciana.gif

Ten post edytował phpion.com 31.08.2007, 22:07:57
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 05:35