我想在客户渴望后显示所有类别。这意味着所有类别都显示在客户左侧导航之后。我多次尝试通过不同的方式,但我做不到。知道吗?
终于解决了这个问题,我只走了几个步骤就找到了这个解决方案。
步骤 1 :
在应用程序/代码/本地/法师/客户/块/帐户/类别中创建块.php并将过去的代码创建为
class Mage_Customer_Block_Account_Categories extends Mage_Core_Block_Template {
}
步骤 2 :
客户.xml应用/代码/设计/前端/默认/默认/布局中的过去代码
<reference name="left">
<block type="customer/account_categories" name="customer_account_categories" template="customer/account/categories.phtml" />
</reference>
步骤 3 : :
最后 在您的模板文件(app/code/design/frontend/default/default/template/customer/account)中创建一个 phtml 文件并粘贴此代码。
$_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();
}
这就是它在您的客户帐户导航中获得第一级类别。
后端创建一个块,在该块中调用一个 phtml 文件作为
{{block type="catalog/product_list" template="catalog/product/category_list.phtml"}}
将以下代码粘贴到 category_list.phtml 文件中
<?php
$_categories = Mage::getBlockSingleton(
目录/导航");
foreach ($_categories->getStoreCategories() as $_category)
{
$category = Mage::getModel(`catalog/category`);
$category->load($_category->getId());
$subcategories = explode(`,`, $category->getChildren());
?>
<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>
现在在客户中调用此块.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>