2017-07-07 20 views
1

thisガイドを使用してMagento CMSページエディタにカスタムフィールドを追加しようとしていますが、追加フィールドをバックエンドに表示することができません。Magentoページにカスタムフィールドを追加しようとしていますCMS

ここに私が作成したファイルです:/アプリの/ etc /モジュール/アプリ/コードで

<config> 
    <modules> 
     <ddog_customcms> 
      <active>true</active> 
      <codePool>local</codePool> 
      <depends/> 
     </ddog_customcms> 
    </modules> 
</config> 

config.xmlの

ddog_customcms.xmlは/ローカル/ ddog/customcmsの/ etc

<?xml version="1.0"?> 
<config> 
    <modules> 
     <ddog_customcms> 
      <version>1.0.0</version> 
     </ddog_customcms> 
    </modules> 
    <global> 
     <models> 
      <ddog_customcms> 
       <class>ddog_customcms_Model</class> 
      </ddog_customcms> 
     </models> 
     <events> 
      <adminhtml_cms_page_edit_tab_content_prepare_form> 
       <observers> 
        <ddog_customcms_page_edit_tab_content> 
         <type>singleton</type> 
         <class>ddog_customcms_Model_Observer</class> 
         <method>cmsField</method> 
        </ddog_customcms_page_edit_tab_content> 
       </observers> 
      </adminhtml_cms_page_edit_tab_content_prepare_form> 
     </events> 
     <resources> 
      <ddog_customcms_setup> 
       <setup> 
        <module>ddog_customcms</module> 
       </setup> 
      </ddog_customcms_setup> 
     </resources> 
    </global> 
</config> 

content_custom列は、私はキャッシュをクリアしてきたが、私は得ることができない

<?php class ddog_customcms_observer { public function addNewCmsField($observer) { //get CMS model with data $model = Mage::registry('cms_page'); //get form instance $form = $observer->getForm(); //create new custom fieldset 'ddog_customcms_content_fieldset' $fieldset = $form->addFieldset('ddog_customcms_content_fieldset', array('legend'=>Mage::helper('cms')->__('Custom'),'class'=>'fieldset-wide')); //add new field $fieldset->addField('content_custom', 'text', array( 'name' => 'content_custom', 'label' => Mage::helper('cms')->__('Content Custom'), 'title' => Mage::helper('cms')->__('Content Custom'), 'disabled' => false, //set field value 'value' => $model->getContentCustom() )); } } 

//アプリ/コード/ローカル/ ddog/customcms /モデルのデータベーステーブル

observer.phpをcms_pageに追加しましたフィールドはページエディタのどこにでも表示されます。誰でも助けることができますか?

+1

はこの答えを見て取る動作しますします。https:// Magentoの.stackexchange.com/a/53094 – Rushikumar

+0

返事をありがとう、しかし私はすでにその答えを見て、手順を試みましたが、まだ運がありません。 –

答えて

0

ここに宣言

<events> 
    <adminhtml_cms_page_edit_tab_content_prepare_form> 
     <observers> 
      <ddog_customcms_page_edit_tab_content> 
       <type>singleton</type> 
       <class>ddog_customcms_Model_Observer</class> 
       <method>cmsField</method> 
      </ddog_customcms_page_edit_tab_content> 
     </observers> 
    </adminhtml_cms_page_edit_tab_content_prepare_form> 
</events> 

では、メソッド名cmsFieldを設定するが、観測者には、あなたがcmsFieldからaddNewCmsField変更、それをメソッド名を書き、それが

+0

良いスポット!私はcmsFieldメソッド名を修正しましたが、私はまだページを編集するときに新しいフィールドを見ることができません。キャッシュをクリアして表示する以外に必要なことはありますか? –

+0

あなたのクラス名も間違っています –

+0

コードにエラーはありません私は自分のコードを試してみましたが、オブザーバーのクラス名をDdog_Customcms_Model_Observerに変更しました –

関連する問題