Hirdetés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz Siriusb #425 üzenetére

    Ehhez totálisan felesleges volt definiálnod hook_theme-ben egy template-et, az ilyeneket nem is illik template-fájlban elintézni, a template-fájlba NEM kerülhet ilyen jellegű logika, ott az ember legfeljebb elrejthet dolgokat hide()-dal, vagy csak kinyomja a kimenetre, a megfelelő formában, és kész.
    Szóval ezt most vagy egy form_alterben, vagy egy preprocess-ben módosítod. De az ilyen "nem működik"-jellegű hibaleírásokkal nehéz mit kezdeni, gondolom azt te is belátod... :D

    Először is Devel modult engedélyezed, majd a sminkedben implementálod a hook_form_altert, debuggolás erejéig kiíratsz minden szart, aztán majd kikommenteled, ha kiderítetted, ami neked kell, és persze nem felejtesz el cache-t törölni (drush cc theme-registry):

    /**
    * Implements hook_form_alter()
    */
    function SMINKEDVAGYMODULODNEVE_form_alter(&$form, &$form_state, $form_id){
    dsm($form_id, '$form_id in '.__FUNCTION__.'()');
    dsm($form, '$form in '.__FUNCTION__.'()');
    dsm($form_state, '$form_state in '.__FUNCTION__.'()');
    }

    rájössz, hogy jé, a contact formnak az id-ja "contact_site_form", így implementálod az ennek megfelelő hook_form_FORM_ID_alter()-t:

    function SMINKEDVAGYMODULODNEVE_form_contact_site_form_alter(&$form, &$form_state, $form_id){
    dsm($form_id, '$form_id in '.__FUNCTION__.'()');
    dsm($form, '$form in '.__FUNCTION__.'()');
    dsm($form_state, '$form_state in '.__FUNCTION__.'()');
    }

    megint törölsz cache-t, jé, ez is működik, csak most már kizárólag a contact form dolgait buzerálod.
    Kideríted, mit akarsz módosítani, szépen a dsm() kimenetét kotorászva, kétszer klikkelve arra a kulcsra, ami neked kell, hogy ki tudd másolni a pontos nevét, aztán kikommenteled a dsm()-eket, majd letiltod a develt (drush dis -y devel).

    [ Módosította: Eagle16 ]

Új hozzászólás Aktív témák