在我的 Drupal 网站上,我有这样的东西:
<div class="form-item form-type-textfield item-1">
<div class="form-item form-type-textfield item-2">
<div class="form-item form-type-textfield item-3">
<div class="form-item form-type-textfield item-4">
...
有什么办法可以这样弄
<div class="form-item form-type-textfield item-1 added-class">
或
<div class="wrapped-class">
<div class="form-item form-type-textfield item-1">
</div>
因此,向元素添加一个类或将其包裹起来。我试过 hook_preprocess
,但没有成功。
hook_form_alter
也不是解决方案,因为您必须为每个表单执行此操作...div 类出现在多个页面上,所以我想用一个来捕捉语句代码片段。
有任何想法吗?
最佳答案
我很惊讶 Drupal 没有“外包”这个功能,但是如果你看看 theme_form_element()
function您可以看到类是静态设置的。
我想在代码中做你想做的唯一方法是对该函数使用主题覆盖:
function mytheme_form_element($variables) {
}
在该函数中,您需要将 theme_form_element
函数中的全部代码放入(我知道这似乎有点矫枉过正,但我想不出更好的方法),并将您的新类添加到$attributes['class']
数组:
$attributes['class'] = array('form-item', 'my-other-class');
关于css - 在 Drupal 中围绕现有的 div 添加额外的 div 类/包装 div 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8521518/