自定义Drupal中的WebForm模块
-
13-09-2019 - |
题
我也是Drupal 6.10 CM和PHP的新手。我正在用Drupal创建我的网站,我找到了一个名为的模块 WebForm 我喜欢它,很容易创建具有不同类型的字段和文件上传的表单。我不知道的一件事是如何在所有字段之前添加丰富的文本。类似于表格的介绍。该模块具有“描述”字段,该字段将显示为纯文本,但其中没有丰富的文本。
我可以用什么来实现这一目标。是否可以在那里进行硬码HTML,或者还有其他可以允许这样做的模块?
谢谢
解决方案
“描述”字段的值通过 _webform_filter_descriptions(). 。此功能有一个 $strict
参数,默认为 TRUE
, ,哪个确定描述是否过滤 filter_xss() 或不。 filter_xss()
允许一些HTML:
'a','em','strong','cite','code','ul','ol','li','dl','dt','dt','dd'
因此,您可以将“ Rich Text” HTML限制为这些元素,也可以修改_webform_filter_descriptions(),设置 $strict
至 FALSE
. 。如果您确实是后者,请注意安全含义(具有创建WebForm说明的权利的用户可能会输入恶意HTML-这就是Filter_xss()保护的方法)。
其他提示
我认为您需要做的就是将“输入格式”设置为“ Full HTML”,然后您可以使用任何要样式的文本的HTML/CSS标签。
您可以通过创建一个 形式组件 "标记“创建新字段时的下拉选项。
从这部分,您可以放置 HTML和PHP 在您需要的盒子里。
您还可以选择输入格式,以更多地控制您要如何使用此元素。
正如OP所说的那样,“确认”框带有Wysiwyg编辑器工具栏,但“描述”框没有。
处理此问题的最简单方法就是将所需的HTML手工编码在描述框中。虽然没有任何地方说您可以做到这一点,但您可以做到。
这是我写的关于获取自定义代码以使用WebForm运行的简短方法。它详细介绍了编写自定义模块,复制WebForm模板以匹配NodeID,并添加自定义JavaScript/jQuery进行表单处理。