2012-03-23 27 views
1

我想檢索我的網站的類別,以建立我自己的類別菜單。 但我不明白如何從類/模型中獲取所有類別。所以我創建了一個名爲top.phtml的文件,我已經放入了模板/目錄/導航,如何檢索類別名稱和子女? Magento

首先,如果我想創建頂級菜單,我必須將該名稱放到該文件夾​​中嗎?我能否決定將TopMenu.phtml的名稱放在哪裏?因爲在埃夫裏我是紅色的,他們也是這樣做的。

第二:我必須調用什麼函數?我一直在這裏:http://www.magentix.fr/ergonomie-web/agencer-page-accueil-site-magento.html但做到這一點對我來說沒有按牛逼的工作方式。我添加的代碼到我的文件top.phtml正確堪稱page.xml:

<div class="category-list" style="background-color:white;"> 
<h2>Nos produits</h2> 
<?php 
    foreach ($this->getStoreCategories() as $_category): 
      if($_category->getIsActive()): 
        $_category = Mage::getModel('catalog/category')->load($_category->getId()); 
        $layer = Mage::getSingleton('catalog/layer')->setCurrentCategory($_category); 
        ?>   
         <div class="category-list-view"> 
           <a href="<?php echo $this->getCategoryUrl($_category)?>" title="<?php echo $_category->getName()?>"> 
             <img src="<?php echo $this->getCurrentCategory()->getImageUrl(); ?>" alt="<?php echo $_category->getName() ?>" /> 
           </a> 
           <h3><a href="<?php echo $this->getCategoryUrl($_category)?>" class="name" title="<?php echo $_category->getName()?>"><?php echo $_category->getName()?></a></h3> 
         </div> 
        <?php 
      endif; 
    endforeach; 
?> 
</div> 

末:我在哪裏能找到一個像CodeIgniter一樣清晰的用戶指南?我發現,但我從來沒有找到任何答案:http://www.magentocommerce.com/wiki/doc/webservices-api/api#magento_core_api

感謝您的回答,我ma web dev用於使用CodeIgniter或沒有任何模板,我不能清楚地看到Magento編程方式背後的邏輯。

編輯:有什麼與類別有關? Becaue我嘗試默認類別下創建子類別,它做的工作,但如果我創建一個新的根類別,它根本沒有認可它。爲什麼

回答

3

首先,我必須把這個名字的如果我想創建頂級菜單,將文件放入該文件夾中?我能否決定將TopMenu.phtml的名稱放在哪裏?因爲在evry tut我紅色,他們也是這樣做的。

你可以命名你的模板文件,無論你喜歡什麼。但是,最好遵循命名和建立慣例。模板文件名取決於您的佈局XML。它應該具有template屬性,例如<block name="x" type="x/y" template="catalog/navigation/topmenu.phtml" />(例如)。

第二:我必須調用的函數是什麼?我一直在這裏:http://www.magentix.fr/ergonomie-web/agencer-page-accueil-site-magento.html但方式做到這一點對我來說

沒有按牛逼的工作提供給您的模板(topmenu.phtml文件)的功能取決於塊的類型。在佈局XML中,您應該指定與您需要的功能相對應的塊類型。就你而言,你可能在尋找塊類型爲catalog/navigation。如果你看看./app/code/core/Mage/Catalog/Block/Navigation.php,你可以看到你的模板可以使用哪些公共方法。這裏的幾個方法有助於生成(嵌套)類別列表。這是您的getStoreCategories()方法來自哪裏。請記住,這些塊從幾個父母類繼承,所以你有更多的方法可用比你想象的要多。

在哪裏可以找到像CodeIgniter那樣清晰的用戶指南?我發現,但我從來沒有找到任何答案:http://www.magentocommerce.com/wiki/doc/webservices-api/api#magento_core_api

這是一個鏈接到Magento API。你需要的是關於Magento佈局XML和其中的設計層的教程。 Magento wiki有一些很好的信息,但是Google在周圍,你會發現大量真正有用的資源來理解Magento的設計系統。

與分類有什麼關係? Becaue我嘗試默認類別下創建子類別,它做的工作,但如果我創建一個新的根類別,它根本沒有認可它。爲什麼

根類是你用什麼確定所選商店目錄的基礎。你永遠不會看到根類別出現在前端(你不應該)。根類別中的每個子類別都是頂級類別;這些子類別(第三類)下的子類別將在Magento前端顯示爲您的「第二級」類別。您可能需要查看Magento的GWS(「全球,網站,商店」)範圍系統,以及它如何在多商店設置中管理商品目錄數據,以更好地理解爲什麼根類別以這種方式運作。

希望這會有所幫助!

+0

偉大的工作Jona,謝謝!很有幫助 ! – 2012-03-26 14:23:36

相關問題