0

バックエンドに独自のメニューとページを備えたMagento管理モジュールを作成し、CMS->Pagesグリッド内のすべてのページを自分のページにリストする方法を再作成してから、自分の列を追加しようとしています。

これまでのところ、adminセクションのテンプレートヒントをオンにした後、元のMagentoCMSセクションテンプレートがから読み込まれることを確認しadminhtml\default\default\template\widget/grid.phtmlました。

このファイルの内容を自分のページにコピーしましたが、もちろん、$this元の参照で使用されている参照には、自分のモジュールページで関連付けられている同じロード済みのクラス/データがありません。

私がこれで正しい方向に進んでいるかどうか、または私がCMS->Pages自分のページで自分の列を追加して同じ効果をどのように達成できるかを誰かに教えてもらえますか?

4

1 に答える 1

1

これを達成するために、/app/code/core/Mage/Adminhtml/Block/Cms/Block/Grid.php を拡張するカスタム モジュールを作成できます。

データベースフィールドをcmsテーブルに追加していると仮定します

/app/code/local/RWS/CmsGrid/etc/config.xml を作成します

<global>
   <blocks>
      <adminhtml>
        <rewrite>
          <cms_block_grid>RWS_CmsGrid_Block_Cms_Block_Grid</cms_block_grid>
        </rewrite>
      </adminhtml>
   </blocks>
</global>

/app/code/local/RWS/CmsGrid/Block/Cms/Block/Grid.php を作成します。

class RWS_CmsGrid_Block_Cms_Block_Grid extends Mage_Adminhtml_Block_Cms_Block_Grid
{

   protected function _prepareColumns()
   {

      $this->addColumn('xxxxxx', array(
          'header'    => Mage::helper('cms')->__('Xxxxx'),
          'align'     => 'left',
          'index'     => 'title',
     ));
     ..........

詳細を見る

于 2012-10-31T18:11:04.267 に答える