Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento致命错误:对非对象调用成员函数setCurPage()_Magento - Fatal编程技术网

Magento致命错误:对非对象调用成员函数setCurPage()

Magento致命错误:对非对象调用成员函数setCurPage(),magento,Magento,我使用工具栏创建了一个块,但发生了一个错误: 致命错误:对非对象调用成员函数setCurPage 我做了很多搜索查询,但找不到解决方案。 有人知道原因吗 请参阅下面我的代码: class test_Promotion_Block_List extends Mage_Catalog_Block_Product_List { public function __construct() { parent::__construct(); $collection

我使用工具栏创建了一个块,但发生了一个错误:

致命错误:对非对象调用成员函数setCurPage

我做了很多搜索查询,但找不到解决方案。 有人知道原因吗

请参阅下面我的代码:

class test_Promotion_Block_List extends Mage_Catalog_Block_Product_List {

    public function __construct() {
        parent::__construct();

        $collection = Mage::getModel('catalog/product')
                ->getCollection()
                ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
                ->addAttributeToSelect('*')
                ->addAttributeToFilter('category_id', array('finset' => '98'))
                ->addAttributeToSort('created_At', 'desc')
        ;

        $this->setCollection($collection);
    }

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

        $toolbar = $this->getToolbarBlock();

        // called prepare sortable parameters
        $collection = $this->getCollection();

        // use sortable parameters
        if ($orders = $this->getAvailableOrders()) {
            $toolbar->setAvailableOrders($orders);
        }
        if ($sort = $this->getSortBy()) {
            $toolbar->setDefaultOrder($sort);
        }
        if ($dir = $this->getDefaultDirection()) {
            $toolbar->setDefaultDirection($dir);
        }
        $toolbar->setCollection($collection);

        $this->setChild('toolbar', $toolbar);
        $this->getCollection()->load();
        return $this;
    }

    public function getDefaultDirection() {
        return 'asc';
    }

    public function getAvailableOrders() {
        return array('name' => 'Name', 'position' => 'Position', 'children_count' => 'Sub Category Count');
    }

    public function getSortBy() {
        return 'name';
    }

    public function getToolbarBlock() {
        $block = $this->getLayout()->createBlock('testpromotion/toolbar', microtime());
        return $block;
    }

    public function getMode() {
        return $this->getChild('toolbar')->getCurrentMode();
    }

    public function getToolbarHtml() {
        return $this->getChildHtml('toolbar');
    }
}
错误嗅探: Magento Product_列表块支持分页。它们采用URL分页参数,并将其应用于要显示的产品集合

这意味着您看到的错误发生在块的父类中的某个地方。该方法是为集合调用的,因此它意味着其中一个选择的结果不是对象,而是数组或null

更可能的情况是,您正在接收一个数组响应,但没有使用该响应初始化集合,因此在数组上调用该方法会触发此错误

错误信息: 请指定完整的错误信息,包括发生错误的文件和行。这将有助于找到错误的来源

还可以在任何可能更改$collection变量的操作之前/之后使用以下行,因为您可能正在调用$this->setCollectionnull

var_dump(is_object($collection) ? get_class($collection) : get_type($collection));