我无法将占位符属性添加到Magento的CMS页面中的输入元素。像这样:
<input type="text" placeholder="Hello" />
我继续保存CMS页面,但是,在我看来,Magento会覆盖占位符属性,从而阻止显示HTML中常见的占位符。
有没有办法实现这个目标?
答案 0 :(得分:3)
这个有点棘手。如果您检查cms_page
数据库表,您会发现Magento实际上是在保存带有placeholder
属性的HTML标记。此外,如果您通过前端而不是管理界面查看页面,您会发现Magento呈现了您的占位符属性。
问题是,Magento的tinymce编辑器配置为删除无效的input
属性,并且此列表尚未更新以反映HTML5中的更改。
如果您使用的是相当现代版本的Magento,您可以通过将以下javascript插入管理页面之后加载tinymce javascript来修复此问题,但之前 magento运行内联wysiwygpage_content = new tinyMceWysiwygSetup...
javascript。 警告:我只是将它们放在一起,它可能无法在所有浏览器中使用。买家要小心,测试等等。
if(tinyMceWysiwygSetup)
{
tinyMceWysiwygSetup.prototype.originalGetSettings = tinyMceWysiwygSetup.prototype.getSettings;
tinyMceWysiwygSetup.prototype.getSettings = function(mode)
{
var settings = this.originalGetSettings(mode);
settings.extended_valid_elements = 'input[placeholder|accept|alt|checked|disabled|maxlength|name|readonly|size|src|type|value]';
return settings;
}
}
更新:我有一个new module,它提供了一种简单的机制,可以将这些类型的TinyMCE设置添加到Magento的编辑器中。