Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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
在phtml文件内的自定义产品集合中创建magento分页_Magento_Collections_Pagination - Fatal编程技术网

在phtml文件内的自定义产品集合中创建magento分页

在phtml文件内的自定义产品集合中创建magento分页,magento,collections,pagination,Magento,Collections,Pagination,首先,我没有创建自定义模块来处理这个产品集合,所以,我只是将模型放在phtml文件中,我知道这是一个糟糕的实现,我是magento的新手,在将产品集合加载到客户购买的扩展时,我必须做一些小的自定义 此产品集合仅显示在特定类别中,因此在类别管理中的“自定义设计”选项卡中,我输入以下代码: <reference name="product_list"> <action method="setTemplate"><template>catalog/product/l

首先,我没有创建自定义模块来处理这个产品集合,所以,我只是将模型放在phtml文件中,我知道这是一个糟糕的实现,我是magento的新手,在将产品集合加载到客户购买的扩展时,我必须做一些小的自定义

此产品集合仅显示在特定类别中,因此在类别管理中的“自定义设计”选项卡中,我输入以下代码:

<reference name="product_list">
<action method="setTemplate"><template>catalog/product/list_all.phtml</template></action>
我使用以下代码生成分页:

    $toolbar = Mage::getBlockSingleton('catalog/product_list')->getToolbarBlock();
    $toolbar->setCollection($collection);
    echo $toolbar->toHtml();
上面的代码仅显示产品计数和每页显示选项,而不是1,2,3…,链接,我也尝试使用下面的代码:

<?php 
$toolbar = Mage::getBlockSingleton('catalog/product_list')->getToolbarBlock();


$toolbar->setCollection($collection);
echo $toolbar->getCollection()->getSize().'------'.var_dump($toolbar->getPages());
?>


但是,var_转储返回空值。我是否应该创建自定义模块来执行此操作?或者有没有什么方法可以做到这一点,而无需创建自定义模块

尝试将
setCurPage()
添加到集合筛选器中,然后根据URL参数通过
$\u GET
在需要时进行更新:

$collection = Mage::getResourceModel('catalog/product_collection')
        ->addAttributeToSelect('*')
        ->addStoreFilter()
        ->addUrlRewrite()
        ->addAttributeToFilter('groupdeal_status', Devinc_Groupdeals_Model_Source_Status::STATUS_RUNNING)
        -> joinField('groupdeals_id','groupdeals/groupdeals','groupdeals_id','product_id=entity_id',null,'left');

$collection->getSelect()->limit(2)->setCurPage(1);

if ($_GET["p"] <= $_productCollection->getLastPageNumber()){
    $_productCollection->setCurPage($_GET["p"]);
}
$collection=Mage::getResourceModel('catalog/product\u collection'))
->addAttributeToSelect(“*”)
->addStoreFilter()
->addUrlRewrite()
->addAttributeToFilter('groupdeal\u status',Device\u Groupdeals\u Model\u Source\u status::status\u RUNNING)
->joinField('groupdeals\u id','groupdeals/groupdeals','groupdeals\u id','product\u id=entity\u id',null,'left');
$collection->getSelect()->limit(2)->setCurPage(1);
如果($\u GET[“p”]getLastPageNumber()){
$\u productCollection->setCurPage($\u GET[“p”]);
}

我对magento没有太多的经验,我也不明确地认为这是离题的,但请注意,可以找到magento专用的堆栈交换,这可能是获得答案的更快方法。很抱歉,但谢谢,我将转到该论坛。:)
$collection = Mage::getResourceModel('catalog/product_collection')
        ->addAttributeToSelect('*')
        ->addStoreFilter()
        ->addUrlRewrite()
        ->addAttributeToFilter('groupdeal_status', Devinc_Groupdeals_Model_Source_Status::STATUS_RUNNING)
        -> joinField('groupdeals_id','groupdeals/groupdeals','groupdeals_id','product_id=entity_id',null,'left');

$collection->getSelect()->limit(2)->setCurPage(1);

if ($_GET["p"] <= $_productCollection->getLastPageNumber()){
    $_productCollection->setCurPage($_GET["p"]);
}