Sziasztok!
Biztos kiüti a szemem, de nem látom...
Van egy tartalomtípusom, aminek a beküldő űrlapját szeretném módosítani. A tartalomtípus hozzá van rendelve az egyik szótárhoz, tehát létrejön egy select elem a beküldő űrlapon (name="taxonomy[vid]"). Ezt a selectet szeretném beletuszkolni egy fieldset-be hook_form_alter()-ben, de úgy tűnik, ez a select már nem az a select.
function ..._form_alter(&$form, $form_state, $form_id) { $form['new_fieldset'] = array( '#type' => 'fieldset', ... ); $form['new_fieldset']['taxonomy'][vid] = array( ... ); }
Persze létrejön egy új select elem a fieldset-ben, de egyrészt a forrást nézve azt látom, hogy a name attribútumából kimarad a 'taxonomy' (csak a vid marad), másrészt marad a $form['taxonomy'][vid] elem is. Két egymást követő select elemmel szeretném a taxonomy select-et összecsomagolni egy fieldset-be, mert ennek az utóbbinak az option-jei (istenem, hogy lehet ilyeneket normálisan leírni?) az előző kettőben kiválasztott opcióktól függenek (AHAH).
Drupal verzió:
Fórum:
A [vid] mi kar lenni ? [$vid]
A [vid] mi kar lenni ? [$vid] vagy ['vid'] ?
...mit tudok: http://web.termuves.hu
$form['new_fieldset']['taxono
helyett, szereintem
...mit tudok: http://web.termuves.hu
vid = 209
A vid-nek van konkrét értéke, csak gondoltam, az itt most lényegtelen. De elnézést, tök félreérthető volt. Amit javasolsz, már próbáltam. Íme az eredményül kapott HTML kód:
<select size="4" id="edit-213" class="form-select required" multiple="multiple" name="213[]">
A name-nek ennek kéne lenni: taxonomy[219][], vagy nem?
Fox Mulder
Fontos az, hogy milyen a name
Fontos az, hogy milyen a name értéke ? Gondolom hivatkozni akarsz rá. Akkor hivatkozz arra amit kreál a Drupal. Vagy így nem működik ?
...mit tudok: http://web.termuves.hu
Taxonomy
Én tudok vele mit kezdeni, de a Taxonomy nem. Vagy én értek valamit félre? Ez a hibaüzenet jelenik meg:
Gondolom a Taxonomy hiányolja a formját.
Fox Mulder
Sőt!
Ha csinálok egy taxonomy-tól független form elemet, mondjuk így:
akkor a HTML forrásban megint csak ez van:
Az egyik gyanusítottam a form elem '#tree' kulcsa lett volna, de TRUE vagy FALSE (ez a default) érték mellett is ugyanez van. Ha a ['malacka']['tao'] páros helyett ['taxonomy'][123456] van és a 'taxonomy' eltűnik, honnan tudja a Taxonomy modul, hogy dolga van a form elemmel (a Taxonomy által hozzáadott form elem '#tree' értéke TRUE)?
Fox Mulder
Siker
Így sikerült:
Remélem pontosan vettem ki a lényeget. A lényeg, hogy a Taxonomy modul egy $form['taxonomy'][1234] nevű tömböt vár, ami
<select ... name="taxonomy[1234]">
HTML-t eredményez (ettől függ a wrapper neve és a select id-je is). Ha csak simán betesszük a fieldsetbe, ahol a '#tree' értéke valszeg a default FALSE, akkor a Taxonomy modul már semmit sem tud kezdeni a $form[1234] tömbbel.Fox Mulder
Így visszakeresve még leírás
Így visszakeresve még leírás is van hozzá:
http://drupal.org/node/48643
...mit tudok: http://web.termuves.hu