Css 在Drupal中的现有div周围添加额外的div类/包装div类

Css 在Drupal中的现有div周围添加额外的div类/包装div类,css,class,drupal,Css,Class,Drupal,在我的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"> .

在我的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">


因此,将类添加到一个项或围绕它包装一个类。我使用了
hook\u预处理
,但没有成功

hook\u form\u alter
也不是解决方案,因为您必须为每个表单执行此操作。。。div类出现在多个页面上,因此我想用一个代码片段捕捉语句。

有什么想法吗

根据您要放置的位置,查看该块/区域/页面的模板文件,并创建一个模板来覆盖该模板。例如,如果要将该div添加到每个节点,我将在自定义主题中创建一个node.tpl.php并将其添加到其中。正如我所说的,这取决于你想把它放在哪里。

我很惊讶Drupal没有“分包”这个功能,但是如果你看一下,你会发现类是静态设置的

我认为在代码中实现所需功能的唯一方法是对该函数使用主题重写:

function mytheme_form_element($variables) {

}
在该函数中,您需要放置
主题\u表单\u元素
函数中的整个代码(我知道这似乎有些过分,但我想不出更好的方法),并将新类添加到
$attributes['class']
数组中:

$attributes['class'] = array('form-item', 'my-other-class');

我在想类似的事情,但我想用代码来做。。。难道没有什么功能会突然出现在你的脑海里吗?”原因我的已经坏了:)如果我的主题名为
module
,我只需要做这个
module\u form\u元素($variable)
,对吗?或者我需要替换另一个东西吗?哦,这不是主题名称的好选择!Drupal中的许多函数都是从
模块开始的,因此很容易遇到名称空间问题。但是是的,
module\u form\u元素
将是正确的函数名。记住,一旦你实现了主题覆盖,就要清除Drupal的缓存:)是的,我很清楚Drupal的命名约定:)这只是我想到的第一个词:-)我现在正在研究一个更可靠的解决方案。”因为Drupal不允许我更改属性。。。
$attributes['class'] = array('form-item', 'my-other-class');