1

誰かがこれで私を助けてくれますか? 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-&gt;getCategoryUrl($category).'"'.$linkClass.'>;';
}
4

4 に答える 4

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>';
}
于 2014-04-08T13:24:40.817 に答える
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.'>';
}

これが役立つことを願っています。

于 2014-02-21T23:17:19.933 に答える