Как я могу исключить категорию Magento из главного меню и сохранить ее на боковой панели. Я пробовал эти два кода, которые я получил при поиске в Google, заменив их по умолчанию на magento, но он не работает
Вот код
<?php $_menu = "" ?>
<?php if($_menu): ?>
<div class="nav-container">
<ul id="nav">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php if(stristr('71,70,69', $_category->getId()) === FALSE) : ?>
<?php echo $this->drawItem($_category) ?>
<?php endif ?>
<?php endforeach ?>
<?php // echo $_menu ?>
</ul>
</div>
<?php endif ?>
И вот второй кусок кода. Также я получил это от поиска в Google.
<?php $_menu = ''?>
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php $_menu .= $this->drawItem($_category) ?>
<?php endforeach ?>
<?php if ($_menu): ?>
<div class="nav-container">
<ul id="nav">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php if (!in_array($_category->getId(), array(12,34,56))) : ?> <?php echo $this- >drawItem($_category) ?>
<?php endif; ?>
<?php endforeach ?>
</ul>
</div>
<?php endif; */ ?>
Кажется, никто из них не работает. Я использую magento 1. 7.1
Спасибо за вашу помощь
Чтобы исключить категорию из верхнего меню навигации, но сохранить категорию в боковом меню слева. То, должны ли пункты меню отображаться в верхнем меню навигации, может контролироваться администратором. Вы должны выполнить следующие шаги:
Во-первых, создайте атрибут логической категории с кодом «use_in_navigation», используя скрипт обновления данных:
$installer = $this;
$installer->startSetup();
$installer->addAttribute('catalog_category', 'use_in_navigation', array(
'type' => 'int',
'input' => 'select',
'label' => 'Use in navigation',
'required' => false,
'note' => '',
'user_defined' => '1',
'source' => 'eav/entity_attribute_source_boolean',
'default' => false));
$entityTypeId = $installer->getEntityTypeId('catalog_category');
$attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId);
$installer->addAttributeToGroup(
$entityTypeId,
$attributeSetId,
'General Information',
'use_in_navigation',
100);
$installer->endSetup();
Во-вторых, переопределите «_getHtml» из «Mage_Page_Block_Html_Topmenu» и пропустите рендеринг любых дочерних элементов, для которых «use_in_navigation» имеет значение false:
protected function _getHtml(Varien_Data_Tree_Node $menuTree, $childrenWrapClass){
....
foreach ($children as $child) {
if(!$child->getUseInNavigation()){
continue;
}
....
}
}
Что-то в этом роде должно сработать.
Примечание. Названия функций взяты из Magento CE 1.8. Они могут отличаться от Magento CE 1.7.
просто
1- Перейдите к Каталог-> Управление категориями
2- Выберите категорию, которую вы хотите исключать из главного меню
3-комплект Включить в меню навигации возможность нет (внизу страницы)
В зависимости от вашей темы вы можете использовать прототип или jQuery для удаления конкретного дочернего элемента тега UL. Например, если вы хотите удалить вторую категорию, вы можете использовать такой код для удаления второго LI навигационного UL