我想顯示使用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