将占位符属性添加到Magento CMS页面

时间:2013-07-22 01:14:43

标签: html5 magento placeholder

我无法将占位符属性添加到Magento的CMS页面中的输入元素。像这样:

<input type="text" placeholder="Hello" />

我继续保存CMS页面,但是,在我看来,Magento会覆盖占位符属性,从而阻止显示HTML中常见的占位符。

有没有办法实现这个目标?

1 个答案:

答案 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的编辑器中。