有人可以帮帮我吗?我使用的是Magento CE 1.8.0.0
magento如何制作子菜单无法点击的父菜单链接
我已尝试过以下代码,但他们也不适合我。 app / code / core / Mage / Catalog / Block或Topmenu.php
if($category->getLevel()== 2 && $hasActiveChildren) {
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.' onclick="return false;">';
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
$html[] = '</a>';
} else {
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
$html[] = '</a>';
}
if ($category->getID()==[category ID]) {
$linkClass = 'class="no-click"';
$html[] = '<a href="javascript:void(0)"'.$linkClass.'>';
}
else{
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>;';
}
答案 0 :(得分:1)
使其仅适用于顶级: app / code / local / Mage / Page / Block / Html / Topmenu.php,第126行替换此代码
$html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>'
. $this->escapeHtml($child->getName()) . '</span></a>';
使用:
if ($child->hasChildren() && $childLevel == 0 ) {
$html.= '<a href="#" ' . $outermostClassCode . ' onclick="return false;"><span>'
. $this->escapeHtml($child->getName()) . '</span></a>'."\n";
}
else {
$html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>'
. $this->escapeHtml($child->getName()) . '</span></a>';
}
答案 1 :(得分:0)
Titonja的答案如下:
应用程序/代码/本地/法师/页/块/ HTML / Topmenu.php
第126行。找到这段代码:
$html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>'
. $this->escapeHtml($child->getName()) . '</span></a>';
替换为:
if ($child->hasChildren()) {
$html.= '<a href="#" ' . $outermostClassCode . ' onclick="return false;"><span>'
. $this->escapeHtml($child->getName()) . '</span></a>'."\n";
}
else {
$html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>'
. $this->escapeHtml($child->getName()) . '</span></a>';
}
清除缓存。它适用于Magento 1.8.0.0
答案 2 :(得分:0)
对于版本1.6.2的用户,请尝试以下操作:
查找文件:/app/code/core/Mage/Catalog/Block/Navigation.php
替换第268行:
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
通过这个条件:
$myParentIds = array(3,6,10);
if (in_array($category->getID(), $myParentIds)){
$linkClass = ' class="no-click"';
$html[] = '<a href="javascript:void(0)"'.$linkClass.'>';
}
else{
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
}
我希望这会有所帮助。
答案 3 :(得分:0)
app/code/local/Mage/Page/Block/Html/Topmenu.php
第126行。找到此代码:
$html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>'. $this->escapeHtml($child->getName()) . '</span></a>';
替换为:
if ($child->hasChildren() && $childLevel == 0) {
$html.= '<a href="javascript::void();" ' . $outermostClassCode . ' onclick="return false;"><span>'. $this->escapeHtml($child->getName()) . '</span></a>'."\n";
} else {
$html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>'. $this->escapeHtml($child->getName()) . '</span></a>';
}