Sziasztok.
Fejlesztek egy modult, ahol szükség van a taxonomy listázó oldalakon elhelyezni két menu tab-ot, amik további szűrési feltételeket biztosítanak. Így néz ki a megvalósítás:
function modulom_menu() { $items = array(); $items['taxonomy/term/%/parameter'] = array( 'title' => t('Filter'), 'page callback' => 'taxonomy_term_page', 'page arguments' => array(2), 'access arguments' => array('access content'), 'type' => MENU_LOCAL_TASK, );
Azt szeretném megoldani, hogy csak bizonyos kategóriák esetén jelenjenek meg a menü tab-ok, viszont a menü cache-elése miatt hiába teszek feltételt a hook_menu()-be. Átnéztem a drupal.org-on és az api oldalon a menüvel foglalkozó részeket de elfogytak az ötleteim. Egy kis iránymutatást szívesen vennék.
EIK: Zoli
Drupal verzió:
Fórum:
egy tipp
Mi lenne, ha a %-kot lecserélnéd a megfelelő tid-re. Ekkor ugyan telefosod a menu táblát, de nem fogja keselni. (persze kérdés hány term-ed van, 50 felett lehet, nem kérne ;))
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Sikerült megoldani
Szia.
Köszönöm a választ, mivel a term-eket a tulajdonos fogja feltölteni és bővíteni, így nem tudom előre felvinni őket.
Viszont sikerült megoldani amit szerettem volna, kigyűjtöttem a szükséges tid-eket egy tömbbe és egy ciklussal valósítottam meg a menu tab-ok hozzáadását az eredeti felállás helyett.
Ezt követően még meg kellett oldani, hogy egy új term felvitelekor a tömbbe bekerüljön a felvitt term tid-je és lefusson a menu_rebuild(). Ezekhez a hook_taxonomy() hurkot használtam.
Azt viszont nem értettem, hogy ha tele van a menü tábla, miért ne cache-elne, úgy is teszi azt szépen.
Üdv: Zoli
Wildcard loader?
Wildcard loader? Ha hamis értékkel tér vissza, akkor nemlétezőnek tekinti az adott oldalt, gondolom ilyenkor nem jelenik meg a fül.
Vagy írsz saját access callback-et, ami figyelembe veszi az aktuális URL-t.
Próbáltam
Szia.
Köszönöm a választ, próbáltam ezekkel a módszerekkel is, de nem hoztak eredményt. Fentebb megírtam, hogy hogy sikerült megoldani.
Üdv: Zoli
Esetleg más megközelítés
Esetleg Views-szal kéne csinálni a listázást.
Ha mégis a menüvel akarsz szórakozni.
Én 2 dolgot próbálnék meg elsőnek
Első.)
Az alapértelmezett 'access callback' felülírása egy saját függvénnyel ami megkapja a TID-et (index:2)
Ez esetben hozzáférési jog miatt nem fog megjelenni a tab.
Második.)
Közben rájöttem hogy ez hülyeség :)
-----------------------
Kérdés
Views-t nem használok, ha nem
Views-t nem használok, ha nem muszáj... :)
Első: tényleg nem működött.
Válaszok:
Mert egy taxonomy listázó oldalt hív meg a menu tab, de sajátot, csak rosszul írtam be ide: 'modulom_taxonomy_term_page'.
A második kérdésed sajnos nem értem, megkapja a tid értékét a callback függvény.
Üdv: Zoli