我的templateDetail.xml中有一个带有自定义模板字段的Joomla模板。 现在我想要一个允许HTML(a和br-tags)的页脚textarea的字段。如果我在我的textarea中保存HTML标记,它们将被删除而不输出:
<field name="footer" type="textarea" default="Footer Text (HTML)"
label="Footer content"
description="Content of the footer"
filter="html" />
这个领域有什么问题,还是Joomla bug?
答案 0 :(得分:3)
type="textarea"
创建一个标准的HTML textarea,但默认情况下这些都允许HTML标记。它会被忽略。我建议你做的是使用type="editor"
,它将显示TinyMCE编辑器(默认情况下),并允许您输入HTML标记。
我知道这对于一个页脚来说有点过分,但大多数模板提供商都没有这个功能,而是从Footer模块获取内容。所以你也可以这样做。
我刚刚错过了过滤器类型。在执行任何操作之前,请尝试将过滤器更改为filter="raw"
并查看输出结果。
答案 1 :(得分:0)
用于保持HTML的正确过滤器为filter="safehtml"
。
答案 2 :(得分:0)
对我来说,“raw”和“safehtml”过滤器都没有阻止将html转换为文本字符串。
我的解决方案是使用html_entity_decode($ myhtml)解码变量。
那么,在模板中的index.php:
$params = $app->getTemplate(true)->params;
....
echo html_entity_decode($params->get('footer'));