Sziasztok!
A következő érdekes helyzettel állok szemben:
Edott egy webform aminek a megjelenését egyedileg akarom sminkelni.
Erre doksi szerint a smink template.php filejába a következőt tettem:
<?php function phptemplate_webform_form_13($form) { _phptemplate_callback('webform_form', array('form' => $form)); } ?>
aztán van a smink könyvtárában a webform_form.tpl.php file, amiben elvégzek mindenfélét (tulajdonképpen a form pár eleméhez rendelek hozzá egyedi class -t), majd a végén
<?php echo drupal_render($form); ?>
Namármost ez a megoldás egy korábbi smink esetén frankón ment de itt sehogy se akar összejönni.
A jelenségek a következők:
- ha elhelyezek drupal_set_message() fv-t a webform_form.tpl.php file-ban, akkor az megjelenik -> a file meghívódik
- ha kidumpoltatom a $form tartalmát, akkor a megfelelő helyen ($form submitted részén belül a megfelelő elemnél) megjelelenik az ami módosítást előtte megcsinálok
- ennek ellenére a generált html kódban sehol nincs nyoma a dolognak
- nincs node-webform.tpl.php file, ami esetleg felülbírálná a dolgot (bár nem tudom hogy megtenné-e egyáltalán ha direkt erre a node-ra csinálok egy phptemplate callback-et)
És a csattanó: ha a drupal_render($from) után berakok egy die() -t, akkor csupasz generált html -t kapom a formról ami JÓ, azaz tartalmazza a szükséges változtatásokat!!!
Szóval úgy néz ki, hogy a phptemplate_callback -em rendben lefut és jó is, de mintha ez után újra meghívná a form_render -t, csak az eredeti $form tömbbel és felülírná az általam generált kimenetet...
Na most akkor mi van?! :)