1

保存されたビデオの URL とその動作を表示するカスタム グリッドを magento で作成しました。urlidしかし、たとえば がであるレコードのみを表示したい3。これが私の_prepareCollection機能です

protected function _prepareCollection()
{
    // Get and set the collection for the grid
    $collection = Mage::getResourceModel('drecomm_productvideo/video_collection');
    //what should i put in here, addFieldtoSelect?
    $this->setCollection($collection);
    return parent::_prepareCollection();
}

私のグリッドはから拡張され、そのクラスには機能Mage_Adminhtml_Block_Widget_Gridがありません。addFieldToFilter

4

1 に答える 1

5

まず、コレクションに永続的なフィルターを作成する (つまり、グリッド ビューからフィルターを削除できない) 場合はaddFieldToFilter、コレクション オブジェクトに使用する必要があります。このメソッドはgridクラスの一部ではなく、コレクション クラスの一部です。

$collection = Mage::getResourceModel('drecomm_productvideo/video_collection')
    ->addFieldToFilter('urlid', 3);

コレクションにデフォルトのフィルターを追加するだけの場合(最初から適用されますが、リセットしてすべてのエントリを表示できることを意味します)、setDefaultFilter()グリッド ブロックのメソッドを使用する必要があります。

protected function _construct()
{
    parent::_construct();

    //... your code
    $this->setDefaultFilter(array('urlid' => 3));
}
于 2012-10-05T08:40:43.960 に答える