0

バナー スライダーのカスタム モジュールを作成しています。管理グリッドで、Web サイト フィールドを表示したいと考えています。そのために、namespace/module/Block/Adminhtml/banner/Grid.php ファイルに追加しました

 if (!Mage::app()->isSingleStoreMode()) {
        $this->addColumn('website_id', array(
                'header'    => Mage::helper('bannerslider')->__('Website'),
                'align'     => 'center',
                'width'     => '80px',
                'type'      => 'options',
                'options'   => Mage::getSingleton('adminhtml/system_store')->getWebsiteOptionHash(true),
                'index'     => 'website_id',
        ));
      }

_prepareColumns() 関数で。これで、Web サイトの列が表示されるようになりました。しかし、各行に Web サイト名が表示されません。各行に Web サイト名を表示するにはどうすればよいですか。画像をご覧ください。

ここに画像の説明を入力

何が欠けていますか?


これが私のコレクションです。

protected function _prepareCollection()
  {
    $collection = Mage::getModel('bannerslider/bannerslider')->getCollection();
    $this->setCollection($collection);
    return parent::_prepareCollection();
  }

テーブルに「website_id」というフィールドがあります。各行には、コンマで区切られた複数の値が含まれる場合があります。この場合、コレクションの使い方を教えていただけますか?

4

2 に答える 2

1

_prepareCollection() 関数では、以下を挿入します。

parent::_prepareCollection();
$this->getCollection()->addWebsiteNamesToResult();
于 2013-06-13T09:22:48.103 に答える
0

website_id が他のテーブルにある場合は、テーブルを結合し、select の _prepareCollection() 関数に website_id を追加する必要があります。

protected function _prepareCollection() {
   //Your custom code in here
}
于 2012-10-04T10:50:39.350 に答える