回答:
$category->getPath()
ツリーのルートから現在のカテゴリまでのすべてのカテゴリのIDをスラッシュ(/
)で区切って返します。次に例を示します1/2/56/124/543
。最初のものは「ルートのルート」です。2つ目はカタログルート(デフォルトカテゴリ)です。残りは単純なカテゴリです。だから、あなたはこのようなことをすることができます。
$path = $category->getPath();
$ids = explode('/', $path);
if (isset($ids[2])){
$topParent = Mage::getModel('catalog/category')->setStoreId(Mage::app()->getStore()->getId())->load($ids[2]);
}
else{
$topParent = null;//it means you are in one catalog root.
}
これで、次のような名前とURLを取得できます。
if ($topParent){
$name = $topParent->getName();
$url = $topParent->getUrl();
}
これを試して
$level = $this->getCurrentCategory()->getParentCategory()->getLevel();
if($level > 1){
echo $this->getCurrentCategory()->getParentCategory()->getName();
}
else{
echo $this->escapeHtml($_category->getName());
}
このコードをコピーして貼り付けてください:)
getId()
修正しました。完璧に機能しています。