0

嗨,我正在使用 Drupal 开发一个新站点,出于某种原因,我想在 Drupal 呈现的输入搜索字段之前添加一个跨度或标签(我更喜欢 <span>)。

有没有办法实现它?我不太乐意修改核心文件。

任何帮助,将不胜感激。

Drupal 版本:7

4

2 回答 2

1

您通常使用预处理功能来实现这一点

您可以在主题文件夹中使用此类功能。假设您的主题称为“示例”

// template_preprocess(&$variables, $hook),替换模板
//用你的主题名称
函数 example_preprocess(&$variables, $hook)
{
   dsm($钩子); // 您需要开发模块才能使用 dsm()...
}
// 这应该输出页面上使用的钩子列表,
//寻找search_form或类似的......然后你可以做
函数 example_preprocess(&$variables, $hook)
{
   if($hook == 'search_form')
       dsm($变量);
}

查看变量列表以识别要编辑的内容,那么这只是在您的函数中编辑该内容的问题。

如果你做一些研究,你应该找到很多例子!

于 2013-08-14T16:02:00.087 回答
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

}

于 2013-08-21T07:32:17.753 回答