Sziasztok!
Van egy aloldal, amit a /admin/valami/edit/[id] címen lehet elérni, ahol az [id] egy szám.
Amikor megnyitom a lapot az "a" nevű függvény szépen megkapja paraméterben az [id] -t.
Viszont ha egy másik fület nyitok meg, akkor az [id] elvész. Hogy tudom megcsinálni, hogy ha a második fülre kattintok, akkor a "b" függvény megkapja paraméterként?
$items[] = array( 'path' => 'admin/valami/edit', 'callback' => 'drupal_get_form', 'callback arguments' => array('a'), 'type' => MENU_CALLBACK, ); $items[] = array( 'path' => 'admin/valami/edit/ful1', 'type' => MENU_DEFAULT_LOCAL_TASK, 'title' => t('1'), 'callback' => 'drupal_get_form', 'callback arguments' => array('a'), ); $items[] = array( 'path' => 'admin/valami/edit/ful2', 'type' => MENU_LOCAL_TASK, 'title' => t('2'), 'callback' => 'drupal_get_form', 'callback arguments' => array('b'), ); $items[] = array( 'path' => 'admin/valami/edit/ful3', 'type' => MENU_LOCAL_TASK, 'title' => t('3'), 'callback' => 'drupal_get_form', 'callback arguments' => array('c'), );
Fórum:
Milyen az eredeti kód?
Szia!
Nem lehet, hogy az eredeti kód az egy kicsit más milyen? Csak a fórum kedvéért egy kicsit átírtad.
Első ránézésre azt mondanám hogy az admin/valami/edit útvonal típusa legyen inkább MENU_NORMAL_ITEM. (kicsi az esély hogy segít.)
Amit inkább furcsának látok az a drupal_get_form() függvénynek átadott paraméterek.
Ezt érdemes megnézni hook_forms().
Ez alapján így kéne kinéznie:
A fentiek tükrében a hook_menu()-t is módosítani kell.
Eddig ugyan az mint a te kódod csak más nevekkel.
Hiányzik az azonosítók kezelése.
Például az admin/valami/edit/51 útvonal kezelése ugyan az lesz mint a admin/valami/edit útvonal kezelése.
Ha szeretnéd külön kezelni
első fül hiba
Csak az útvonal és függvény neveket írtam át, a több hajszálra ilyen volt.
A második és a harmadik fül már szépen megy.
Az első fül viszont az "admin/valami/edit" -re mutat, hiába fűztem a path -hoz nála is a $arg3 -et. A szülője útvonala számít. :-(
Ez teljesen normális
A leírtak szerint úgy is kell müködnie.
Mind a két PATH ugyanazt a függvényt, ugyan olyan argumentumokkal hívja meg.