应该是一个简单的问题。但是我在Magento中有一个具有子类别的类别列表。我希望将我的类别与subs作为标题,而不是该类别的可点击链接。例如:
Link 1
Link 2
Link 3 (this should be a title)
---Link 1
---Link 2
Link4
我的类别非常喜欢。
<?php foreach ($helper->getStoreCategories() as $_category): ?>
<li> <a href="<?php echo Mage::getModel('catalog/category')->setData($_category->getData())->getUrl(); ?>" title="<?php echo $_category->getName() ?>"><?php echo $_category->getName() ?></a>
<?php foreach (Mage::getModel('catalog/category')->load($_category->getId())->getChildrenCategories() as $childCategory):?>
<?php echo '<li class="subCats"><a href="'.$childCategory->getUrl().'">'.$childCategory->getName() .'</a></li>'; ?>
<?php endforeach;?>
</li>
<?php endforeach ?>
非常感谢任何帮助。 感谢
答案 0 :(得分:1)
好的,这是一个hacky解决方案,但它对我有用。首先创建一个本地副本:
app&gt;代码&gt;核心&gt;法师&gt;目录&gt;块&gt; Navigation.php 强>
或者,如果您知道如何配置模块,请扩展课程并以正确的方式进行。
寻找名为 _renderCategoryMenuItemHtml 的功能。
在页面的某个位置创建一个包含要排除的所有类别名称的数组:
$categoryArray = array("Duplicate NCR", "Triplicate NCR", "Quadruplicate NCR");
现在只需用标准if语句包围标签,替换它:
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.' title="'.$this->htmlEscape($category->getName()).'">';
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
$html[] = '</a>';</code>
有了这个:
if(!in_array($this->htmlEscape($category->getName()), $categoryArray)) {
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.' title="'.$this->htmlEscape($category->getName()).'">';
}
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
if(!in_array($this->htmlEscape($category->getName()), $categoryArray)) {
$html[] = '</a>';
}
正如我所说,制作一个这样的模块将是更好的选择,但就快速修复而言,这将完美无缺。