为表单元素中的各个组件添加 css 属性 - Drupal
我有一个 drupal 表单,我需要向表单元素中的组件添加单独的类。
也就是说,我需要将属性 class='text' 添加到“文本框(实际框)”,将 class='title' 添加到“文本框标题”(#title')。
我该怎么做?
I have a drupal form and I need to add separate classes to the components in a form element.
That is I need to add the attribute class='text' to the 'textbox (the actual box)' and class='title' to the 'textbox title' (#title').
How do I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于第一种情况 - 将类添加到文本字段本身 - 使用
#attributes
属性:对于第二种情况(将类添加到标签),您对 Forms API 的运气不好。相反,您可以使用字段和标签的包装类来定位它:
For the first case—adding the class to the textfield itself—use the
#attributes
property:For the second case——adding the class to the label—you are out of luck with the Forms API. Instead, you could target it using the wrapper class for the field and label:
有人已经回答了您的问题从 Drupal 表单中删除 class=“form-item”< /a>.
该函数可以将 class='title' 添加到标题中。
但对于 class='text' 你应该 theme_textfield (或 theme_textarea) 拥有 template.php
从 ./included/form.inc 获取代码
但我建议对所需的自定义表单进行主题化,而不是所有表单元素。在某些地方它可能会引发样式冲突等。当然,如果客户不要求更改所有表单元素。在实际情况下,不需要更改默认元素。
Someone already answer to your question Remove class=“form-item” from Drupal forms.
That function give possibility add class='title' to the title.
But for class='text' you should theme_textfield (or theme_textarea) to own template.php
Take codes from ./included/form.inc
But i recommend to do theming required custom form, not all form elements. Somewhere it can raise styling conflicts etc. Of course, if client doesn't demand change all form elements. In real case changing default elements doesn't need.