Sziasztok!
Kérdésem általánosan fogalmazva a következő:
Adott egy contrib modul, azon belül egy form, melynek a submit-ja elmenti az adott form tartalmát egy adott táblába. Ez ok. A táblába írást követően automatikusan szeretnék egy másik (core) táblába írni egyetlen rekordot. Hogyan tudom ezt megvalósítani?
Előre is köszönöm a segítséget
feor58
Fórum:
Saját modul
Saját modul hook_form_alterében saját submit függvény hozzáad, saját submit függvényben pedig: http://api.drupal.org/api/function/drupal_write_record/6
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
Köszönöm gyors válaszod. A
Köszönöm gyors válaszod. A javasolt megoldás azt fogja eredményezni, hogy miután az eredeti formon lement az eredeti submit, utána lefut az én submittom is?
Igen
Igen.
Köszi.
Köszi.
Saját submit handler hozzáadása
Kipróbáltam a javaslatodat, de a saját submit handler hozzáadását nem jól csinálhattam, mert nem működik. Pontosan mit is kellene ehhez tennem?
Saját submit handler hozzáadása - kiegészítés
Bocsi, elfelejtettem leírni mit is csináltam: (6.x)
function domainplus_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'domain_form') {
$form['#submit'] = 'domainplus_submit_handler';
}
}
Saját submit handler hozzáadása - kiegészítés kiegészítése
Megint nem voltam igazán precíz! Szóval a saját modulomban pontosan a következőket csináltam:
function domainplus_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'domain_form') {
$form['#submit'] = 'domainplus_submit_handler';
}
}
function domainplus_submit_handler($form, &$form_state) {
...
}
ezzel igy tonkretetted a formodat
a #submit egy tomb(!) ami a vegrehajtando sumbit fuggvenyek neveit tartalmazza.
http://api.drupal.org/api/drupal/developer--topics--forms_api_reference....
masik amit erdemes megfontolni, hogy nem a hook_form_alter -t hasznalod, az ugyanis minden formnal lefut (igen, csak odaaig, hogy if form id, de akkor is lefut:) hanem a hook_form_FORM_ID_alter -t, ami csak adott idju urlapnal fut majd.
tehat valahogy igy:
-
clear: both;
Köszönöm, sokat segítettél!
Köszönöm, sokat segítettél!