【问题标题】:Allow empty cms page content允许空的 cms 页面内容
【发布时间】:2012-07-29 12:19:53
【问题描述】:

在 magento 中使用 cms 页面时,我有时需要一个空的内容部分。大多数时候这是我的主页。但是 magento 迫使我在内容中添加一些内容,然后才能保存。

有没有办法让 magento 允许空的 cms 页面内容?

【问题讨论】:

    标签: magento


    【解决方案1】:

    在你的空元素中添加 <div>‍</div> 以阻止 magento cms 删除它们

    【讨论】:

      【解决方案2】:

      你可以使用空的 div 或 span

      【讨论】:

        【解决方案3】:

        Mage_Adminhtml_Block_Cms_Page_Edit_Tab_Content::_prepareForm() 方法调度adminhtml_cms_page_edit_tab_content_prepare_form 事件。您可以观察这个事件,从传递给事件的表单对象中获取字段,并将其required 属性更改为false

        【讨论】:

        • 我认为这可能是最好的答案,但很遗憾有这么多工作要做这么简单的任务。
        • 嗯,EAV 实体可以通过升级脚本完成此操作。一个观察者只是 2 个配置文件和一个模型类。我能想到几个框架,对于这些框架,这种变化会是一个令人头疼的维护问题。
        【解决方案4】:

        这是一个快速而肮脏的修复,您应该真正覆盖管理类,这样您下次升级时就不会丢失更改。

        无论如何,在文件app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Content.phpfunction _prepareForm(),第 82 行,更改:

        $contentField = $fieldset->addField('content', 'editor', array(
            'name'      => 'content',
            'style'     => 'height:36em;',
            'required'  => true,
            'disabled'  => $isElementDisabled,
            'config'    => $wysiwygConfig
        ));
        

            $contentField = $fieldset->addField('content', 'editor', array(
                'name'      => 'content',
                'style'     => 'height:36em;',
                'required'  => false,
                'disabled'  => $isElementDisabled,
                'config'    => $wysiwygConfig
            ));
        

        【讨论】:

        • 将更改保存在 app/code/local 而不是 app/code/core 中,此修复变得不那么脏。适用于 1.9.1.0
        【解决方案5】:

        它不是特别优雅,但您可以输入   和/或通过 CSS 隐藏内容

        【讨论】:

        • 是我到现在为止一直在做的事情。希望有一个配置选项
        猜你喜欢
        • 2017-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-22
        • 2011-04-23
        • 2013-10-22
        • 2013-04-27
        相关资源
        最近更新 更多