【发布时间】:2014-03-17 16:31:53
【问题描述】:
首先,我没有创建自定义模块来处理这个产品集合,所以,我只是将模型放在 phtml 文件中,我知道这是不好的实现,我是 magento 的新手,我必须在将产品集合加载到客户购买的扩展中。
这个产品集合只显示在特定类别中,所以在类别管理的自定义设计选项卡中,我输入了这段代码:
<reference name="product_list">
<action method="setTemplate"><template>catalog/product/list_all.phtml</template></action>
这是我加载产品集合的查询,此查询位于 list_all.phtml 文件中:
$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);
我已使用此代码生成分页:
$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_dump 返回 NULL 值。我应该创建自定义模块来做到这一点吗?或者有什么方法可以做到这一点,而无需创建自定义模块?
【问题讨论】:
-
我在 magento 方面没有太多经验,我也没有明确认为这是题外话,但请注意有一个 Magento 专用 Stack Exchange 可以找到 here这可能是获得答案的更快方法。
-
对不起,谢谢,我会转到那个论坛。 :)
标签: magento collections pagination