Üdv mindenkinek!
Régen drupaloztam, kicsit kiestem a dologból, ezért elnézést, ha ostobaságot kérdezek. Annyit szeretnék elérni, hogy egy tartalomtípus szerkesztő-űrlapján legyen egy hozzáadott checkbox, ami ha be van kapcsolva, a tartalomtípus bekerül egy saját tömbbe a variable táblába, ha ki van kapcsolva, akkor nem kerül bele, vagy kikerül belőle. Gondoltam:
// modulom.module function modulom_form_node_type_form_alter(&$form, &$form_state) { $form['modulom'] = array( '#type' => 'fieldset', ... ); $form['modulom']['beallitasom'] = array( '#type' => 'checkbox', '#title' => t('...'), '#description' => t('...') ); }
// modulom.install function modulom.install() { variable_set('modulom_lista', array()); }
Itt el is akadtam. Azt látom, hogy a content_types.inc fájlban van a node_type_form_submit, amiben a 301. sortól kezdődik a hozzáadott input elemem értékeinek mentése a variable táblába. Ezt hol tudom felülírni? Van szebb megoldás annál, mint megváltoztatni a $form['#submit'] értékét, kimásolni egy saját függvénybe a node_type_form_submit kódját és átírni a szükségesre?
Drupal verzió:
Fórum:
hook_nodeapi()
A $form['#submit'] egy tömb, szóval ha hozzápush-olod a saját függvényed nevét, amit le akarsz futtatni, az is jó.
De itt inkább a hook_nodeapi()-val végezd a műveleteket: az insert, update és delete opciókat kell megvalósítanod.
Kösz
A hook_nodeapi-ban node-okat kezelhetek, nem tartalomtípusokat nem?
A másik tippet köszi, kis szépséghiba, hogy a node_type_form_submit kreál egy saját 'name'-et a variable táblában a checkbox és a tartalomtípus nevéből, de ezt a rekordot nem törli, ha törlöm a tartalomtípust. Persze ez nem különösebb gond, de elég szemetelés jellege van.
Ja, és mik a hozzápush-olt függvényem paraméterei?
Fox Mulder
Elnézést
Teljesen féreértettem az egészet tegnap este, most esik le, hogy mit szeretnél. Szóval a hook_nodeapi()-t tényleg felejtsd el, nem is mondtam ilyet. :)
A függvényednek ugyanolyan paraméterek kellenek, mint egy form submitnek, tehát:
function my_form_submit($form, &$form_state) {...}
.