您好我正在使用Drupal开发一个新网站,出于某种原因,我想在Drupal呈现的输入搜索字段之前添加一个span或标签(我更喜欢< span>)。
有没有办法实现它?我不太乐意修改核心文件。
任何帮助将不胜感激。
Drupal版本:7
答案 0 :(得分:1)
您通常使用preprocess函数
实现此目的您可以在主题文件夹中使用此类功能。假设您的主题被称为“示例”
// template_preprocess(&$variables, $hook), replace template //with the name of your theme function example_preprocess(&$variables, $hook) { dsm($hook); // You need the Devel module in order to use dsm()... } // this should output a list of hooks used on your page, //look for search_form or similar...then you could do function example_preprocess(&$variables, $hook) { if($hook == 'search_form') dsm($variables); }
查看变量列表以识别要编辑的内容,然后只是在函数中编辑该内容的问题。
如果你做一些研究,你应该找到很多例子!
答案 1 :(得分:1)
您可以使用hook_form_BASE_FORM_ID_alter()挂钩将HTML添加到现有标记中,
/**
* Implements hook_form_BASE_FORM_ID_alter();
*/
function <MODULE_NAME>_search_block_form_alter(&$form, &$form_state, $form_id) {
//Reffer prefix from the api to add <span> or <label>
// https://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#prefix
// Reffer prefix from the api to add </span> or </label>
//https://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#suffix
}