Web services Magento类别导航
我有一个Magento网站,其类别结构如下(大写字母为类别,小写字母为产品): 我想将我的导航菜单显示为按大小、按集合和按设计购物。我不希望导航从服装级别开始。有没有办法做到这一点Web services Magento类别导航,web-services,magento,web,e-commerce,magento-1.7,Web Services,Magento,Web,E Commerce,Magento 1.7,我有一个Magento网站,其类别结构如下(大写字母为类别,小写字母为产品): 我想将我的导航菜单显示为按大小、按集合和按设计购物。我不希望导航从服装级别开始。有没有办法做到这一点 注意:根据Magento设计,根目录不能显示在导航菜单中。导航菜单从第二级的类别开始,即本例中的服装 看看navigation.php,您可以更改核心功能,但可以使用带有rewrite的模块(永远不要直接更改核心文件!)。当我需要自定义导航功能时,我总是从那里开始 编辑,所有困难我经常使用这种方法,我建议尽可能避免
注意:根据Magento设计,根目录不能显示在导航菜单中。导航菜单从第二级的类别开始,即本例中的服装 看看navigation.php,您可以更改核心功能,但可以使用带有rewrite的模块(永远不要直接更改核心文件!)。当我需要自定义导航功能时,我总是从那里开始
编辑,所有困难我经常使用这种方法,我建议尽可能避免重写,我认为在这种情况下不太可能困难,因为我们正在讨论将lvl 2类别显示为主导航看看navigation.php,您可以通过使用带有重写的模块来更改核心功能(永远不要直接修改corefile!)当我需要自定义导航功能时,我总是从那里开始
编辑,alltough我经常使用这种方法,我建议尽量避免重写,我认为在这种情况下不太可能,因为我们讨论的是将2级分类显示为主导航如果你真的想使用design Root->Apparels->Shop By*你可以通过一次覆盖和修改来完成 xml-这显然是一个高度简化的文件,您需要为该文件提供一个帮助器重写
<?xml version="1.0"?>
<config>
<helpers>
<catalog>
<rewrite>
<category>Namespace_Module_Helper_Catalog_Category</category>
</rewrite>
</catalog>
</helpers>
</config>
如果您真的想使用design Root->Apparels->Shop By*,只需一次覆盖和修改即可 xml-这显然是一个高度简化的文件,您需要为该文件提供一个帮助器重写
<?xml version="1.0"?>
<config>
<helpers>
<catalog>
<rewrite>
<category>Namespace_Module_Helper_Catalog_Category</category>
</rewrite>
</catalog>
</helpers>
</config>
APPARELS是该级别的唯一类别吗?APPARELS是该级别的唯一类别吗?当category helper只需要一个自定义导航时,为什么要调整它?这将改变对该helper的所有调用…他指定他希望将导航基于第三级类别而不是第二级类别。这就实现了。The Borden现在留在主题上,从此点而不是根类别呈现菜单。当他只需要自定义导航时,为什么要调整类别帮助器?这将改变对此帮助器的所有调用…他指定他希望将导航基于第三级类别而不是第二级类别。此Accomple现在,从这一点而不是从根类别呈现菜单的负担就落在了主题身上。
class Namespace_Module_Helper_Catalog_Category extends Mage_Catalog_Helper_Category {
public function getStoreCategories($sorted=false, $asCollection=false, $toLoad=true)
{
$parent = Mage::app()->getStore()->getRootCategoryId();
$cacheKey = sprintf('%d-%d-%d-%d', $parent, $sorted, $asCollection, $toLoad);
if (isset($this->_storeCategories[$cacheKey])) {
return $this->_storeCategories[$cacheKey];
}
/**
* Check if parent node of the store still exists
*/
$category = Mage::getModel('catalog/category');
/* @var $category Mage_Catalog_Model_Category */
if (!$category->checkId($parent)) {
if ($asCollection) {
return new Varien_Data_Collection();
}
return array();
}
/* Change ian on 1/4/13 at 11:16 AM - Description: Here we capture the id of first child for use as the 'root' */
$category->load($parent);
/** @var $collection Mage_Catalog_Model_Resource_Category_Collection */
$collection = $category->getChildrenCategories();
if (is_array($collection)) {
$category = array_shift($collection); //get the first category in the array. Unknown key.
$parent = $category->getId();
} else {
$parent = $collection->getFirstItem()->getId();
}
$recursionLevel = max(0, (int) Mage::app()->getStore()->getConfig('catalog/navigation/max_depth'));
$storeCategories = $category->getCategories($parent, $recursionLevel, $sorted, $asCollection, $toLoad);
$this->_storeCategories[$cacheKey] = $storeCategories;
return $storeCategories;
}
}