Salve!
Sto creando un tema personalizzato in Drupal 6.20.
Quando lavoravo con la versione 5.7 avevo trovato una funzione da inserire nel file template.php che mi permetteva di formattare il blocco di ricerca. Questa funzione cattura la searchbox di default e la visualizza con il layout specificato nel file search-block-form.tpl.php presente nella stessa cartella del tema ed è la seguente:
<?php
function phptemplate_search_block_form ( $form ) {
$output = '';
$output = _phptemplate_callback ( 'search-block-form' , array( 'form' => $form ));
$output = '<div id="search-bar">'. $output. '</div>';
return $output;
}
?>
il file search-block-form.tpl.php contiene invece il seguente codice:
<div style="margin-top:10px; margin-left:7px;">
<input type="text" maxlength="50" name="search_block_form_keys" id="edit-search_block_form_keys" size="15" value="Ricerca" title="Inserisci il termine di ricerca." class="form-text" />
<input id="edit-submit" class="form-submit" style="border:0;" type="submit" name="op" value=" " />
<input type="hidden" name="form_id" id="edit-search-block-form" value="search_block_form" />
<input type="hidden" name="form_token" id="a-unique-id" value="<?php print drupal_get_token ( 'search_block_form' ); ?>" />
</div>
Ora, vorrei riutilizzare la stessa funzione nel template che sto creando, solo che con mio grande dispiacere ho scoperto che la funzione _phptemplate_callback non è più supportata dalla versione 6. Come posso modificare il codice?
Sul sito in inglese ho letto un commento in cui si diceva che tale funzione può essere sostituita con theme_render_template [$template_file , $variabile] , ma è una funzione che non ho la più pallida idea di come funzioni.
Chi mi può aiutare??? è urgente!
Grazie
Interessante il tuo questito e la risposta dovrebbe essere questa:
In template.php del tuo tema (!!cambia mytheme con il nome del tuo tema):
Attenzione non l'ho testata, semplicemente l'ho trovata qui: http://coffeeshopped.com/2009/08/changing-the-search-block-form-text-in-...
Ciao
Grazie per la risposta!
Non ho capito bene la funzione mytheme_search_block_form(&$form). In che senso metto l'output del form? Io ho creato il file search-block-form.tpl a parte. Non dovrebbe caricarlo da lì?
Grazie ancora e scusa l'ignoranza ma con drupal 6 sono alle prime armi!
No problem, anzi scusa se ti rispondo un po in ritardo.
Dopo un po di ricerche ho capito che il file search-block-form.tpl.php è nel module search e con la funzione nel template.php si può personalizzare. A questo serve la function mytheme_search_block_form(&$form) nel template.php. Quest'ultimo si occupa di preprocessare il tema restituendo un output differente: quello nella funzione appunto.
Ho navigato in queste pagine, te le riporto senza fare un copia-incolla di tutto:
http://drupal.org/node/154137 > abbastanza chiaro
http://aronbarbosa.com/content/customizing-your-drupal-search-block-2 > molto chiaro con un buon esempio
Spero che ti sia utile. Ciao