node szerkesztésekor új mező hozzáadása

mhncsa képe

egy képgalérián dolgozom. azt szeretném, h mikor egy node-ot(pl page, story...) szerkesztek legyen egy olyan fieldset is, ahol az adott node-hoz hozzá tudok csatolni egy galériát
ez most csak úgy megy, h a hook_nodeapi implementálásánál az $op paraméter "view" értéke esetén jelenik meg a fieldset-em (így egyébként működik is minden ahogy kell)
viszont azt szeretném, h ne "view" nézetben hanem "edit" nézetben jelenjen meg (a szokásos menu settings, publishing options,... között)
csak azt nem tudom, h akkor az $op paraméternek milyen értéknek kell lennie, mert pl a case 'edit': nem jó. vagy nem ilyen egyszerű ezt összehozni?

Sweetchuck képe

http://api.drupal.org/api/function/hook_form_alter/5
Ha el is akarod menteni az inputot akkor a
#submit is érdekes

0
0
mhncsa képe

köszi a választ, de kellene még egy kis segítség, ha belefér
function album_form_alter-en belül, h tudom elérni, h csak egy node szerkesztésekor jelenjen meg az én form-om. Mármint a $form_id mi lesz amikor egy sima page-t vagy story-t szerkesztek. olyan példát találtam ami a login form-ot egészíti ki, ott $form_id='user_login' volt a feltétel
meg a másik, a submit. ez a vége a album_form_alter függvénynek:
$form['#submit'] = array(
'attache_album_submit' => array()
);
attache_album_submit függvényben megcsinálja a kód amit akartam(rögzítés adabázisban)
viszont így semmi egyéb változtatást nem ment el. pl. ha egy "page" szövegét átírom, akkor nem változik semmi, csak azt jegyzi meg, h milyen albumot kapcsoltam hozzá.
szval mi kell még ahhoz, h a "gyári" submit függvény is lefusson?

0
0
mhncsa képe

azt sikerült megoldani, h ne csak az én modulom submit-je fusson le:
$form['#submit']['attache_album_submit'] = array();

viszont azt továbbra se tudom megoldani, h csak akkor jelenjen meg az én modulom form-ja amikor vmi content-et szerkesztek
jelenleg minden oldal aljára odakerül ahol bármiféle form van... :(

0
0
Sweetchuck képe

Meg kell nézni hogy mi van a $form változóban.

drupal_set_message("<pre>" . htmlentities(print_r($form, true)) . "</pre>");

Utána már lehet szűrni.

if ($form['#id'] != 'node-form') {
  return;
}

Most nem tudom fejből, hogy a tartalom típust hogyan lehet lekérdezni.
talán igy
$form['node']['#value']->type

0
0