我想显示使用ajax在主页magento中使用ajax的流行产品列表,我可以做5或“N”no.of产品,但我想要的是分页工具栏与结果集一起添加。Magento自定义块
这是我添加了什么,显示受欢迎的产品,
// Magento layout
$magento_block = Mage::getSingleton('core/layout');
$productsHtml = $magento_block->createBlock('catalog/product');
$productsHtml->setTemplate('catalog/product/popular.phtml');
echo $productsHtml ->toHTML();
而下popular.phtml
<?php
$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addPriceData()
->addAttributeToSort('ordered_qty', 'DESC')
->addAttributeToSort('name', 'ASC')
->setPageSize($limit)
->setPage($p, $limit)
->addAttributeToSelect(array('entity_id', 'entity_type_id', 'attribute_set_id', 'type_id', 'sku', 'category_ids', 'created_at', 'updated_at','has_options', 'sync', 'name', 'stock_status', 'wc_review_iwc_rating', 'wc_review_wa_rating', 'wc_review_bh_rating', 'small_image', 'status', 'pre_arrival', 'description', 'short_description', 'price', 'is_salable', 'stock_item', 'gift_message_available', 'featured'));
?>
所以这给了我指定的页面,并限制流行的产品,但我可以不加载分页工具栏(通过直接将工具栏添加到popular.phtml或通过创建块布局功能),哪里错了?请有人告诉我。
谢谢
那个正在工作,正常的产品展示。但我想从自定义的PHP文件中显示它。即使我试图加载这样的toolbar.phtml。 $ layout = Mage :: getSingleton('core/layout'); $ toolbar = $ layout-> createBlock('catalog/product_list_toolbar'); //渲染工具栏html echo $ toolbar-> toHtml(); 这不是在1.4.1工作,但在1.3工作。我必须使用分页工具栏。但它不起作用。 – Elamurugan 2010-10-24 13:47:53
嗨vinai,我做了你的建议,但不幸的是它没有工作。主要思考,我正在研究EE 1.9,并且我做了这个。 \t $ collection = Mage :: getModel('catalog/product') - > loadByAttribute('sku',$ sku); \t $ listBlock = Mage :: getSingleton('core/layout') - > createBlock('catalog/product_list'); \t $ listBlock-> setCollection($ collection) - > setTemplate('catalog/product/list/list.phtml'); \t var_dump($ listBlock-> getCollection()); (RETURNS NULL) \t // echo $ listBlock - > toHTML(); (THROUGHS致命错误)。 – Elamurugan 2010-10-25 14:49:46
Mage :: getModel('catalog/product') - > loadByAttribute()不返回一个集合,而是一个Mage_Catalog_Model_Product。我已经编辑了上面的帖子,并添加了一个控制器操作,以使事情更清晰。 – Vinai 2010-10-25 19:16:12