如何在客户帐户离开magento导航后显示所有类别

时间:2014-01-06 14:46:36

标签: magento magento-1.7 layer

我想在客户渴望之后显示所有类别。这意味着所有类别都是在客户左导航之后显示的。我多次尝试通过不同的方式,但我不能这样做。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

最后解决了这个问题,我发现这个解决方案只需要几步之后。

第1步:

app / code / local / mage / customer / block / account / categories.php 中创建一个块,过去的代码为

class Mage_Customer_Block_Account_Categories extends Mage_Core_Block_Template {
}

第2步:

app / code / design / frontend / default / default / layout

中customer.xml的过去代码
<reference name="left">

<block type="customer/account_categories" name="customer_account_categories" template="customer/account/categories.phtml" />
</reference>

第3步:

最后在模板文件中创建一个phtml文件(app / code / design / frontend / default / default / template / customer / account)并通过此代码。

$_categories = Mage::getModel('catalog/category')->getCollection()
   ->addAttributeToSelect('*')
   ->addAttributeToSelect('name')
   ->addAttributeToSelect('url_key')
   ->setLoadProductCount(true)
   ->setLoadProductCount(true)
   ->addAttributeToFilter('level',2)
   ->addAttributeToFilter('is_active',array('eq'=>true))
   ->load();
foreach ($_categories as $_category) {
  $_category->getName();
}

这就是您的客户帐户导航中的第一级别类别。

答案 1 :(得分:0)

从后端创建一个块,在该块中调用一个phtml文件为

{{block type =“catalog / product_list”template =“catalog / product / category_list.phtml”}}

将以下代码粘贴到category_list.phtml文件

<?php $_categories = Mage::getBlockSingleton(目录/ navigation`);

    foreach ($_categories->getStoreCategories() as $_category) 
    { 
        $category = Mage::getModel(`catalog/category`); 
        $category->load($_category->getId()); 
        $subcategories = explode(`,`, $category->getChildren()); 

&GT?;

    <dl> 
        <dt>`<?php echo $this->htmlEscape($_category->getName()); ?>`</dt> 
        <dd> 
            <ol> 
                <?php 
                    foreach ($subcategories as $subcategoryId)
                    { 
                        $category->load($subcategoryId); 
                            echo `<li><a href="` . $category->getURL() . `">` . $category->getName() . `</a></li>`; 
                    } 
                ?> 
            </ol> 
        </dd> 
    </dl>

现在在customer.xml中调用此块,如下所示:

<customer_account translate="label"> <reference name="left"> <block type="cms/block" name="my_block"><action method="setBlockId"> <block_id>my_block_id</block_id></action></block> </reference> </customer_account>