4

致命的なエラー: D:\Program Files\wamp\www\magento\app\code\core\Mage\Adminhtml\Block\Widget\Grid\Column.php の非オブジェクトでメンバ関数 setColumn() を呼び出します。 291

管理グリッド セクションでは、この列の詳細を使用しました

protected function _prepareColumns()
{
    $this->addColumn('giftcard_id', 
        array(
            'header'    => 'ID',
            'align'        => 'right',
            'width'        => '50px',
            'index'        => 'giftcard_id',
        ));

    $this->addColumn('giftcard_id', 
        array(
            'header'    => 'Detail',
            'align'        => 'center',
            'width'        => '150px',
            'renderer'  => 'giftcard/adminhtml_giftcard_idrenderer',
            'index'        => 'giftcard_id',
        ));



    $this->addColumn('created_time', array(
        'header'    => 'Creation Time',
        'align'     => 'left',
        'width'     => '120px',
        'type'      => 'date',
        'default'   => '--',
        'index'     => 'created_time',
    ));

    $this->addColumn('update_time', array(
        'header'    => 'Update Time',
        'align'     => 'left',
        'width'     => '120px',
        'type'      => 'date',
        'default'   => '--',
        'index'     => 'update_time',
    ));   


    $this->addColumn('status', array(

        'header'    => 'Status',
        'align'     => 'left',
        'width'     => '80px',
        'index'     => 'status',
        'type'      => 'options',
        'options'   => array(
            1 => 'Active',
            0 => 'Inactive',
        ),
    ));
    $this->addColumn('action',
            array(
                'header'    => Mage::helper('giftcard')->__('Action'),
                'width'     => '50px',
                'type'      => 'action',
                'getter'     => 'getId',
                'actions'   => array(
                    array(
                        'caption' => Mage::helper('giftcard')->__('Delete'),
                        'url'     => array('base'=>'*/*/delete'),
                        'field'   => 'id'
                    )
                ),
                'filter'    => false,
                'sortable'  => false,
                'is_system' => true,
    ));

    return parent::_prepareColumns();
}

giftcard/adminhtml_gifcard_idrenderer で、次のコードを使用しました

class Troy_Giftcard_Block_Adminhtml_Giftcard_Idrenderer extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
    public function render(Varien_Object $row)
    {
        $value =  $row->getData($this->getColumn()->getIndex());
        $html = 'testing-'.$value .'-testing';
        return $html;        

    }
}

を使用すると、このエラーが発生しました

$this->addColumn('giftcard_id', 
            array(
                'header'    => 'Detail',
                'align'        => 'center',
                'width'        => '150px',
                'renderer'  => 'giftcard/adminhtml_giftcard_idrenderer',
                'index'        => 'giftcard_id',
            ));

誰でもそれを修正する方法を手伝ってくれる

事前の感謝

4

3 に答える 3

5

おそらくrenderer class見つからない。で試してください

'renderer' => 'troy_giftcard/adminhtml_giftcard_idrenderer',

于 2013-04-12T11:55:37.293 に答える
2

これは、Magento がレンダラー クラスの例外を無効なブロックとして生成するためです。

例 :'renderer' => 'Custom_Sales_Block_Adminhtml_Report_Sales_Grid_Column_Renderer_Status' パスの不一致またはレイアウトが見つからない問題により、上記の平均クラスは有効なブロックではありません。

于 2015-06-09T11:44:49.990 に答える