【发布时间】:2013-07-22 01:14:42
【问题描述】:
我无法将占位符属性添加到 Magento CMS 页面中的输入元素。像这样的:
<input type="text" placeholder="Hello" />
我继续保存 CMS 页面,但是,在我看来,Magento 覆盖了占位符属性,从而阻止了通常在 HTML 中看到的占位符显示。
有没有办法做到这一点?
【问题讨论】:
标签: html magento placeholder
我无法将占位符属性添加到 Magento CMS 页面中的输入元素。像这样的:
<input type="text" placeholder="Hello" />
我继续保存 CMS 页面,但是,在我看来,Magento 覆盖了占位符属性,从而阻止了通常在 HTML 中看到的占位符显示。
有没有办法做到这一点?
【问题讨论】:
标签: html magento placeholder
这个有点棘手。如果您检查您的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 的编辑器中。
【讨论】: