你在这里

drup如何给不同的表单元素定义不同的样式?

主标签

我在修改表单元素的样式,比如一个input text的时候,在template.php里面,直接定义了一个函数。

function themename_textfield($variables)

然后把form.inc里的代码复制过来再改,但这样的问题是,整个网站所有的input text的样式都改了,如何针对一个特定的form id做定制呢?

 

多谢

Drupal 版本: 

猜你喜欢

针对表单元素的修改,建议用 hook_form_alter

楼主已能够通过覆写 theme_textfield($varialbes) 主题函数来修改表单输出,在传入的$variables变量中还包含了许多其它属性可以用于元素唯一性的判断,只需要对选定的表单元素进行覆写即可。

另外如果只是样式的修改,最常用的方式则只需要修改CSS样式,因为每个表单生成都会有<div> <form> 嵌套,而在 div 和 form 里都有唯一的 id,因此通过CSS的选择器能够非常方便的定位某一个表单元素,而不用担心会影响其它元素的样式。以现在这个回复表单的评论标题来看,使用以下选择器就可以实现对指定元素的样式修改:

#comments form#comment-form #edit-subject {}

谢谢lugir

我试试从varialbes变量中来确定唯一性