我從Web服務獲取magento ID的列表。我加載到這些和數組$product_ids
,所以我有這樣的事情:Magento - 獲取結果視圖爲產品集合的HTML
Array
(
[0] => 1965
[1] => 3371
[2] => 1052
)
然後我就可以使之成爲一個集這樣的:
$collection = Mage::getModel('catalog/product')->getCollection()
->addIdFilter($product_ids);
使用我的Magento的檢查,我見過的類別頁面使用類Mage_Catalog_Block_Product_List
來顯示產品列表。我想在班上做類似的事情。我已經試過裝:
$ProductList = new Mage_Catalog_Block_Product_List();
$ProductList->setCollection($collection);
然後我試過如下加載結果的HTML:
$CollectionHTML = $ProductList->_toHtml();
但$CollectionHTML
是空的。
我該如何獲得你在列表視圖中看到的HTML(即生成的前端/ base/default/template/catalog/product/list.phtml的輸出,但給定我的收藏)?
爲什麼要繞過LAYOUT圖層(xml佈局文件)?在magento中,你不應該直接實例化一個PHP Block類..你必須通過$ this-> getLayout() - > createBlock('catalog/product_list')加載它,或讓Layout文件去做(這是他們的目的)。我建議你閱讀/學習magento教程/書籍 –
@Bixi我同意關注點的分離,我原則上同意你的看法,並感謝提出這一點,因爲其他用戶不應該認爲這不是理想的解決方案。但我不想在這裏進行哲學辯論。我必須維護一個腳本並按照自己的方式(正確的方式)執行操作,這將涉及大量的重構。因此我的問題。 – Fuser97381