những gì tôi đã kết thúc làm là trong ứng dụng/thiết kế/frontend/default/THEME_NAME/template/Danh mục hàng/sản phẩm/list_random.phtml
làm một cái gì đó như:
<?php
$_categories=$this->getCurrentChildCategories();
$_category = $this->getCurrentCategory();
$subs = $_category->getAllChildren(true);
$result = array();
foreach($subs as $cat_id) {
$category = new Mage_Catalog_Model_Category();
$category->load($cat_id);
$collection = $category->getProductCollection();
foreach ($collection as $product) {
$result[] = $product->getId();
}
}
shuffle($result);
?>
này sẽ giúp bạn có một mảng của id sản phẩm. Bạn có thể lặp qua chúng và tạo ra sản phẩm một cách nhanh chóng sử dụng:
<?php
$i=0;
foreach ($result as $_product_id){
$i++;
$_product = new Mage_Catalog_Model_Product();
$_product->load($_product_id);
//do something with the product here
}?>
sau đó, tạo ra một khối tĩnh trong cms với các nội dung sau đây
{{block type="catalog/navigation" template="catalog/product/list_random.phtml"}}
Cuối cùng, trong Catalog-> Quản lý phần loại , chọn danh mục, sau đó nhấp vào tab cài đặt hiển thị. Chuyển chế độ hiển thị thành "khối tĩnh và sản phẩm" và sau đó chọn khối của bạn từ danh sách thả xuống.
Và điều đó nên làm điều đó.
Nguồn
2009-05-13 23:29:58
chỉ là một lưu ý: các mã trên sẽ nhận được tất cả các sản phẩm từ các loại hiện VÀ phụ. Nó sẽ là khá tầm thường để làm cho nó chỉ là thể loại hiện tại. –
Lưu ý: bạn KHÔNG nên bao gồm "logic phức tạp" trong tệp mẫu. Bạn nên tạo BLOCK bằng phương pháp cụ thể để truy xuất các sản phẩm đã lọc sẽ được sử dụng trong mẫu.Ngoài ra, bạn nên sử dụng phương thức @chapagain hoặc 'Mage_Catalog_Model_Category :: getProductCollection()' về cơ bản giống nhau, nhưng nó cũng thêm bộ lọc STORE VIEW. – xyz