回答
無需創建模塊。只需將它放置在佈局中的一個塊中即可:它將顯示鏈接到指定類別的所有產品(ID = XXX
)。
<!-- Show all products linked to this category -->
<block type="catalog/product_list" name="best_sellers" template="catalog/product/list.phtml">
<action method="setCategoryId">
<category_id>XXX</category_id>
</action>
</block>
更新:
您可以創建在此改變「Mage_Catalog_Block_Product_List」模塊,並添加一個方法來限制一定數量的產品。
1-創建 「應用程序/代碼/本地/ [命名空間] /Catalog/etc/config.xml」,並把這個在它:
<config>
<modules>
<[Namespace]_Catalog>
<version>0.1.0</version>
</[Namespace]_Catalog>
</modules>
<global>
<blocks>
<catalog>
<rewrite>
<product_list>[Namespace]_Catalog_Block_Product_List</product_list>
</rewrite>
</catalog>
</blocks>
</global>
</config>
2-替代阻止通過創建類:「應用程序/代碼/本地/ [命名空間] /Catalog/Block/Product/List.php 「
class [Namespace]_Catalog_Block_Product_List extends Mage_Catalog_Block_Product_List
{
/**
* Default number of product to show.
*
* @var int default = 5
*/
private $_productCount = 5;
/**
* Initialize the number of product to show.
*
* @param int $count
* @return Mage_Catalog_Block_Product_List
*/
public function setProductCount($count)
{
$this->_productCount = intval($count);
return $this;
}
/**
* Get the number of product to show.
*
* @return int
*/
public function getProductCount()
{
return $this->_productCount;
}
}
3-超越控制你的主題添加的產品限制功能:
複製」 應用程序/設計/前端/default/default/template/catalog/product/list.phtml「到」應用程序/設計/前端/預設/ [your_theme] /template/catalog/product/list.phtml」
// Insert between the foreachs and <li> for the list mode and grid mode
<?php if($_iterator < $this->getProductCount()) : ?>
...
// Insert between the foreachs and <li> for the list mode and grid mode
<?php endif; ?>
4-在主頁內容選項卡,加入這一行,你想讓它:
// category_id = Procucts linked to this category
// product_count = Maximum number of product
{{block type="catalog/product_list" category_id="7" product_count="3" template="catalog/product/list.phtml"}}
希望這可以幫助別人。
的指導,但我想在一個特定的部分以顯示在主頁上的產品,而不是在左/右列,還我只是想不顯示10種產品全部,謝謝 – 2010-11-12 09:16:27
我在Mage_Catalog_Block_Product_List上添加了一個基本模塊。它使您能夠顯示最大數量的產品。如果缺少某些東西,請告訴我們,這樣每個人都可以從中獲益。 – yvoyer 2010-11-15 17:24:06
要創建一個使用類做一些事情,通過創建一個標準模塊結構開始小部件(你可以通過CMS插入): /砌塊 /等 /助手 /型號
請注意,在我的代碼示例和文件名下面,您需要用您想要使用的適當名稱空間和模塊替換[Namespace],[Module]和[module]。案例很重要!
通過創建應用程序/代碼/本地/ [命名空間]/[模塊] /etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<[Namespace]_[Module]>
<version>0.0.1</version>
</[Namespace]_[Module]>
</modules>
<global>
<helpers>
<[module]>
<class>[Namespace]_[Module]_Helper</class>
</[module]>
</helpers>
<blocks>
<[module]>
<class>[Namespace]_[Module]_Block</class>
</[module]>
</blocks>
<models>
<[module]>
<class>[Namespace]_[Module]_Model</class>
</[module]>
</models>
</global>
</config>
然後創建一個應用程序/代碼/本地/ [命名空間]開始/ [模塊] /等/ widget.xml此部件包括一個被稱爲 「selected_category」
<?xml version="1.0"?>
<widgets>
<[module]_category type="[module]/category">
<name>[Module]: Category</name>
<description type="desc">Adds a [module] for a category.</description>
<parameters>
<selected_category>
<label>Categories</label>
<visible>1</visible>
<required>1</required>
<type>select</type>
<source_model>[module]/catopt</source_model>
</selected_category>
</parameters>
</[module]_category>
</widgets>
然後,在應用程序/代碼/本地/ [命名空間]強制性助手文件設置/ [模塊] /Helper/Data.php
<?php
class [Namespace]_[Module]_Helper_Data extends Mage_Core_Helper_Abstract
{
}
然後是允許用戶在小部件對話框中選擇類別的模型。這應用於app/code/local/[Namespace]/[Module]/Model/Catopt。PHP
<?php
class [Namespace]_[Module]_Model_Catopt
{
public function toOptionArray()
{
$category = Mage::getModel('catalog/category');
$tree = $category->getTreeModel();
$tree->load();
$ids = $tree->getCollection()->getAllIds();
$arr = array();
if ($ids){
foreach ($ids as $id){
$cat = Mage::getModel('catalog/category');
$cat->load($id);
array_push($arr, array('value' => $id, 'label' => $cat->getName().' ('.$cat->getProductCount().')'));
}
}
uasort($arr, array($this, 'labelsort'));
return $arr;
}
function labelsort($a, $b){
if ($a['label'] == $b['label'])
return 0;
else if ($a['label'] < $b['label'])
return -1;
else
return 1;
}
}
最後對事物的模塊側它出現在應用程序/代碼/本地/ [命名空間]的方框/ [模塊] /Block/Category.php此塊使用自定義的一個.phtml文件爲它的顯示,但是您可以通過更改塊的類型並將其輸入到setTemplate來更改它以使用其他任何可能需要顯示的內容。
<?php
class [Namespace]_[Module]_Block_Category
extends Mage_Core_Block_Template
implements Mage_Widget_Block_Interface
{
/**
* A model to serialize attributes
* @var Varien_Object
*/
protected $_serializer = null;
/**
* Initialization
*/
protected function _construct()
{
$this->_serializer = new Varien_Object();
$this->setTemplate('[module]/[module].phtml');
parent::_construct();
}
public function getCategory(){
return $this->getData('selected_category');
}
}
不要忘記添加一個模塊的安裝文件/app/etc/modules/[Namespace]_[Module].xml下這樣
<?xml version="1.0"?>
<config>
<modules>
<[Namespace]_[Module]>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Cms />
</depends>
</[Namespace]_[Module]>
</modules>
</config>
最後,你需要創建一個模板文件來顯示塊內容。這將在/app/design/frontend/default/default/template/[module]/[module].phtml
這個.phtml文件可以使用$ this-> getCategory()來獲得類別並從那裏。您可以輕鬆地自定義這些示例中包含的塊,以顯示默認的magento產品列表網格,而不是使用自定義的.phtml文件。
感謝您的信息發佈。對於那些不太流利的PHP,但由於您正在尋找解決方案來顯示來自給定類別的產品名稱列表的人,我設法通過簡單地修改其他人的模板文件來找到解決方案。對於這個解決方案,我發現最適合的延長是:
(在github最新版本:https://github.com/cubewebsites/Cube-Category-Featured-Products/tags)。
登錄和註銷並清除緩存我能到窗口小部件插入到一個靜態塊和修改用於生產,我想自定義視圖中的一個.phtml文件之後。
小部件看起來像這樣插入時:
{{widget type="categoryfeatured/list" template="categoryfeatured/block.phtml" categories="118" num_products="10" products_per_row="1" product_type="all"}}.
我只是開
應用程序/設計/前端/基/默認/模板/ categoryfeatured/block.phtml
複製它的內容並創建了category_product_listing.phtml
一個新的一個.phtml文件,然後指着小部件實例到新的一個.phtml文件,如下所示:
{{widget type="categoryfeatured/list" template="categoryfeatured/category_product_listing.phtml" categories="118" num_products="10" products_per_row="1" product_type="all"}}.
然後我通過我的PHP的基本理解這一個.phtml文件去和刪除圖像等所有項目,添加到購物車按鈕,評論,等等,直到我與只是基本的連接產品稱號離開以及因爲類別標題保持不變。
我希望這可以幫助別人,因爲我花了數小時試圖弄清楚這一點。
- 1. Magento的 - 產品,不屬於下會顯示特定類別它
- 2. Magento 1.4:禁用特定類別中的所有產品
- 3. Magento的1.4 - 顯示所有產品
- 4. 特定類別的Magento造型產品
- 5. Magento - 顯示個別產品
- 6. Magento按類別顯示產品
- 7. Magento的:顯示類別的產品屬於不同的產品頁面,但濾出一種特定的類別
- 8. Magento:缺貨中顯示產品類別頁最後的產品
- 9. 顯示商店特定產品magento
- 10. Magento:將產品從特定類別加載到產品頁面
- 11. Magento 1.9 CE在某些羣組/類別的隱形產品中隱藏產品
- 12. 顯示與類別,子類別和產品菜單 - Magento的
- 13. 如果產品屬於特定類別,請在magento中回顯產品描述
- 14. Magento - 菜單顯示類別和產品類別
- 15. MAGENTO - 如何在類別頁面上顯示子類別產品?
- 16. Magento的產品按類別
- 17. 僅在某些類別的WooCommerce產品頁面上顯示自定義按鈕
- 18. 顯示產品類別
- 19. 顯示特定產品類別的條款或產品屬性(woocommerce)
- 20. 如何在負載上顯示特定產品類別的產品?
- 21. Magento的:某些類別的
- 22. 如何顯示一個特定類別的所有產品?
- 23. OpenCart XML feed - 僅顯示特定類別的產品
- 24. WordPress的WooCommerce顯示個別產品的嵌套產品類別
- 25. 下載Magento Frontpage顯示所有產品
- 26. 產品未顯示在Magento2子類別
- 27. 更改特定類別的Magento 2.1中的產品視圖
- 28. 根據家長在Woocommerce產品上顯示特定產品子類別標題
- 29. magento禁用產品上市類別
- 30. 顯示每個類別的特殊產品,僅顯示與該類別相關的產品
沒有嘗試過,我只是找到了開發自定義模塊 – 2010-11-13 00:56:36