禁用 Drupal 的文本区域扩展器?
与 SO 上的问题发布表单类似,Drupal 在通过表单 api 创建的文本区域的底部添加了一个可拖动的扩展器。我怎样才能以一种好的方式禁用它?
Similar to the question posting form on SO, Drupal adds a draggable expander to the bottom of textareas created through the form api. How can I disable this in a nice manner?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
可拖动扩展器是通过“misc/texteara.js”中定义的行为添加的。从这里您可以看到它适用于具有“可调整大小”类的文本区域。如果设置 ,则可以阻止此类的输出将 textareas FAPI 定义上的“#ressized”属性设置为 FALSE(如果未显式设置,则默认为 TRUE)。
因此,对于您自己的表单,您只需相应地声明文本区域即可。对于其他表单,您需要通过
hook_form_alter()
进行调整。The draggable expander gets added via the behavior defined in 'misc/textearea.js'. From that you can see that it applies to textareas having a class 'resizable'. You can prevent the output of this class if you set the '#resizable' property on a textareas FAPI definition to FALSE (it defaults to TRUE if not explicitly set).
So for your own forms, you can just declare the textareas accordingly. For other forms, youD need to adjust them via
hook_form_alter()
.一个名为禁用可调整大小的文本区域的新模块现已发布。
设置非常简单。只需编辑所需的字段,您就会看到“禁用此文本区域的 #ressized 属性”选项。如果字段的类型为“带摘要的长文本”,您还可以从其摘要中禁用可调整大小。
A new module called Disable Resizable Textarea was release now.
It is very easy to set up. Just edit the desired field and you will see an "Disable #resizable property of this textarea" option. You can also disable resizable from its summary, if the field is of type "Long text with summary".
最简单的方法是删除文件
/misc/textarea.js
。更难但可能更好的方法是在您的主题或小模块中修复此问题。
在您的主题中,您再次有两个选择:
yourtheme_textarea
) 从呈现的 HTML 中删除ressized-textarea
类。 论坛中的一些信息模块中的选项是运行
hook_form_alter ()
抓取任何表单并通过处理器运行:这些示例来自 WYSIWYG 模块,并稍作修改。
您的主题非常简单,但需要一个可以覆盖的主题。该模块在性能方面更差,而且更复杂。但是,它适用于任何主题。
The simplest, would be to remove the file
/misc/textarea.js
.The harder, but probably nicer way is to fix this in either your theme, or in a tiny module.
In your theme, you have two options again:
yourtheme_textarea
) to remove the classresizable-textarea
from the rendered HTML. Some information on that in the forumsThe option in a module, would be to run a
hook_form_alter()
to grab any form and run that trough a processor:These examples are from WYSIWYG module, and slightly altered.
In your theme is far simple, but requires a theme that you can override. The module is both performance-wise worse, and a lot more complex. However, it will work on any theme.
有多种方法可以在 Drupal (7) 中删除可调整大小的文本区域。
第 1 将这个简单的片段放入您的主题
template.php
中。不要忘记将 THEMENAME 重命名为您的主题名称。第二种另一种方法是使用另一个名为禁用可调整大小的模块文本区域。
更多信息和来源。
There are to ways how to remove resizable textarea in Drupal (7).
1th Place this simple snipped into your theme
template.php
. Don't forget to rename THEMENAME to your theme name.2nd Other way is to use another module called Disable resizable textarea.
More info and source.