【问题标题】:Add a span before search input field in Drupal 7在 Drupal 7 中的搜索输入字段之前添加一个跨度
【发布时间】:2013-08-14 13:52:34
【问题描述】:
您好,我正在使用 Drupal 开发一个新网站,出于某种原因,我想在 Drupal 呈现的输入搜索字段之前添加一个跨度或标签(我更喜欢 )。
有什么方法可以实现吗?我不太乐意修改核心文件。
任何帮助将不胜感激。
Drupal 版本:7
【问题讨论】:
标签:
drupal
drupal-7
drupal-forms
【解决方案1】:
您可以使用 hook_form_BASE_FORM_ID_alter() 钩子将您的 HTML 添加到现有标记中,
<pre></pre>
/**
* 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
}
【解决方案2】:
您通常使用preprocessfunctions 实现此目的
您可以在主题文件夹中使用这些功能。假设您的主题被称为“示例”
// template_preprocess(&$variables, $hook),替换模板
//用你的主题名称
函数 example_preprocess(&$variables, $hook)
{
dsm($钩子); // 您需要开发模块才能使用 dsm()...
}
// 这应该输出页面上使用的钩子列表,
//寻找search_form或类似的......然后你可以做
函数 example_preprocess(&$variables, $hook)
{
if($hook == 'search_form')
dsm($变量);
}
查看变量列表以确定要编辑的内容,那么这只是在您的函数中编辑该内容的问题。
如果你做一些研究,你应该会找到很多例子!