Posted by Urme on September 10, 2010 at 11:55am
Försöker hitta ett sätt att ändra lite grejer på sökformuläret under /search.
Som jag förstått det ska denna template användas: search-theme-form.tpl.php och funktionen mytemplate_preprocess_search_theme_form(), men verkar inte som den kör på search-theme-form.tpl.php och den kör aldrig igenom preprocess funktionen överhuvudtaget när jag lägger den i template.php.
Är tanken att man ska använda theme_form() enbart?
Comments
search-results.tpl.php
Testa search-results.tpl.php istället!
Jag hittade lite mer läsning här: http://drupal.org/node/175013
//Johan Falk, NodeOne
**
Vill du lära dig mer om Drupal? Kolla in samlingen av tips och guider!
Har du en fråga om Drupal? Missa inte FAQ-sidan på forumet!
Första svenska boken om Drupal! Börja med Drupal – smart webbpublicering med open source
Bästa Drupalkursen hittills: NodeOnes intensiva startkurs 3–4 oktober
Nämenvafan
Jag kan ju inte läsa frågan ordentligt. Du vill ju faktiskt tema formuläret, och inte resultatsidan.
Har du installerat Theme Developer och frågat den vad det är som temar sökrutan? Search-modulen har både ett sökformulär i temat (i de flesta fall) och ett block som kan placeras ut. Eventuellt är det formuläret som ligger hårdkodat i temat som du försöker ändra på. Det borde gå att använda temafunktioner ändå, men det beror på om du har ett välbyggt tema eller inte.
Ledsen för min förvirring. Lycka till!
//Johan Falk, NodeOne
**
Vill du lära dig mer om Drupal? Kolla in samlingen av tips och guider!
Har du en fråga om Drupal? Missa inte FAQ-sidan på forumet!
Första svenska boken om Drupal! Börja med Drupal – smart webbpublicering med open source
Har du testat att lägga detta
Har du testat att lägga detta i din template.php för ditt aktiverade tema?
function MYTHEME_preprocess_search_block_form(&$vars, $hook) {
// Modify elements of the search form
unset($vars['form']['search_block_form']['#title']);
// Set a default value for the search box
$vars['form']['search_block_form']['#value'] = t('Search');
// Add a custom class to the search box
$vars['form']['search_block_form']['#attributes'] =
array(
'onfocus' => 'if(this.value == \''.t('Search').'\') {this.value = \'\';}',
'onblur' => 'if(this.value == \'\') {this.value = \''.t('Search').'\';}');
// Change the text on the submit button
unset($vars['form']['submit']);
// Rebuild the rendered version (search form only, rest remains unchanged)
unset($vars['form']['search_block_form']['#printed']);
$vars['search']['search_block_form'] = drupal_render($vars['form']['search_block_form']);
// Rebuild the rendered version (submit button, rest remains unchanged)
unset($vars['form']['submit']['#printed']);
$vars['search']['submit'] = drupal_render($vars['form']['submit']);
// Collect all form elements to make it easier to print the whole form.
$vars['search_form'] = implode($vars['search']);
}
Modifiera koden ovan för att passa dina ändringar
//Pontus Nilsson, Digitalist