为了解释这个问题,我是一名对PHP知识有限的前端开发人员。我试图在Magento左侧导航中显示所有类别和子类别。我使用我在GitHub上找到的方法创建了一个phtml文件。这非常适合引入最高级别的类别,但我也希望显示子类别。这是我现在的代码:
<?php $_categories=$this->getCurrentChildCategories() ?>
<?php if($_categories->count()): ?>
<ul class="category-links">
<?php foreach ($_categories as $_category): ?>
<?php if($_category->getIsActive()): ?>
<li class="<?php echo $this->htmlEscape($_category->getUrlKey()) ?>">
<a href="<?php echo $this->getCategoryUrl($_category) ?>">
<?php echo $this->htmlEscape($_category->getName()) ?>
</a>
</li>
<?php endif; ?>
<?php endforeach ?>
</ul>
<? endif; ?>
这会引入如下类别:
第1类 第2类 第3类
但我想要的是这个
第1类 第1类的子类别1 第1类的子类别2 第2类 第2类的子类别1 第2类的子类别2
依旧......
任何人都可以帮我吗?
非常感谢!
答案 0 :(得分:2)
像这样的东西。你需要检查它,因为我没有尝试过,但也许它会让你走上正确的轨道。
<?php $_categories=$this->getCurrentChildCategories() ?>
<?php if($_categories->count()): ?>
<ul class="category-links">
<?php foreach ($_categories as $_category): ?>
<?php if($_category->getIsActive()): ?>
<li class="<?php echo $this->htmlEscape($_category->getUrlKey()) ?>">
<a href="<?php echo $this->getCategoryUrl($_category) ?>">
<?php echo $this->htmlEscape($_category->getName()) ?>
</a>
</li>
<?php $_subcategories = $_category->getChildrenCategories();
foreach ($_subcategories as $_subcategory):?>
<li class="<?php echo $this->htmlEscape($_subcategory->getUrlKey()) ?>">
<a href="<?php echo $this->getCategoryUrl($_subcategory) ?>">
<?php echo $this->htmlEscape($_subcategory->getName()) ?>
</a>
</li>
<?php endforeach; ?>
<?php endif; ?>
<?php endforeach ?>
</ul>
<? endif; ?>