2010-11-18 151 views
1
<block type="catalog/product_compare_sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/> 
<block type="catalog/product_list"...> 

我研究了http://magebase.com/magento-tutorials/demystifying-magentos-layout-xml-part-1/,它提到了一個type屬性,它定義了塊的類名。在上面的代碼中,catalog/product_compare_sidebar和catalog/product_list應該是一個塊類,所以,聲明這些塊的php文件的位置在哪裏(任何來自「catalog/product_compare_sidebar」和「catalog/product_list」的提示「)?Magento - 佈局

有許多塊類型,我怎麼知道哪些塊類型可用以及如何選擇哪種塊類型適合現有塊?

感謝您

回答

2

這裏是聯想:

catalog/product_compare_sidebar => /app/code/core/Mage/Catalog/Block/Product/Compare/Sidebar.php 
catalog/product_list => app/code/core/Mage/Catalog/Block/Product/List.php 

如果你使用Eclipse PDT,只需按下按Ctrl + + 牛逼和類型: *目錄* Product_Compare_Sidebar到找到第一堂課。

更新:搜索「類」將爲您提供所有可用的塊類型。 如果你使用Eclipse PDT,只要按下Ctrl鍵++Ť類型: 。 鏈接末尾的段落描述了最重要的一段。 Personnaly,我經常創建自己的類型並從Mage_Core_Block_Template繼承,或者直接使用它。

UPDATE_2:在Mage_Core_Block_Abstract,你可以看到這個方法

我認爲,必須調用每個XML屬性的地方。要知道在哪裏,只需在此處放置一個斷點,或者在這裏死掉,然後查看堆棧跟蹤。

+0

感謝您的信息,但如何「有很多塊類型,我怎麼知道哪種塊類型可用以及如何選擇哪種塊類型適合現有塊?」 – 2010-11-18 11:01:03

+0

@Charles Yeung:看到更新超過 – greg0ire 2010-11-18 11:05:51

+0

謝謝你,還有一件事「{{block type =」catalog/product_list「category_id =」5「template =」catalog/product/list.phtml「}}」怎麼會這樣有屬性category_id? – 2010-11-18 11:26:52