【问题标题】:Custom field for CMS page in MagentoMagento中CMS页面的自定义字段
【发布时间】:2011-11-10 12:48:48
【问题描述】:

我在 CMS-> 页面内容 -> 编辑页面 -> 设计选项卡中添加了新字段

$designFieldset->addField('header_image', 'image', array(
        'name'      => 'header_image',
        'label'     => Mage::helper('cms')->__('Image'),
        'title'     => Mage::helper('cms')->__('Image'),
        'disabled'  => $isElementDisabled
    ));

然后我将此字段添加到数据库中的cms_page 表中,还将代码添加到saveAction() 函数中, 图片上传和保存正常。

但是当我打开页面进行编辑时,函数getData() 不想加载此字段值。 有人遇到过这个吗? 谢谢。

【问题讨论】:

  • 我的同事给了我这个问题的答案。也只需要在数据库中的这个(enterprise_cms_page_revision)表中添加相同的字段。
  • 您可能希望将您的解决方案作为单独的答案(而不是评论)发布,然后接受它。
  • 需要等几个小时,我的评分现在不允许这样做。

标签: php magento attributes content-management-system


【解决方案1】:

我的同事给了我这个问题的答案。也只需要在数据库中的这个(enterprise_cms_page_revision)表中添加相同的字段。

【讨论】:

    【解决方案2】:

    您是如何添加此代码的?我有一个非常相似的问题,但那是因为我使用的是 'adminhtml_cms_page_edit_tab_content_prepare_form' 事件。

    事实证明,这个事件在从模型数据中设置值之后被调度:

    $form->setValues($model->getData());
    $this->setForm($form);
    
    Mage::dispatchEvent('adminhtml_cms_page_edit_tab_content_prepare_form', array('form' => $form));
    

    我的解决方案结束了:

    class SomeCompany_SomeModule_Block_Cms_Page_Edit_Tab_Content_Observer {
    
        public function someMethod($observer) {
            $form = $observer->getEvent()->getForm();
            $fieldset = $form->getElement('content_fieldset');
            $fieldset->addField('some_field', 'text', array(
                'name' => 'some_field',
                'label' => Mage::helper('cms')->__('Some Field'),
                'title' => Mage::helper('cms')->__('Some Field')
            ));
    
            /*
             * Magento amazingly does this BEFORE firing the event, so it will not
             * populate fields added inside the observer, so call it again to populate
             * our custom fields.
             */
            $form->setValues(Mage::registry('cms_page')->getData());
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多