По какому шаблону отображается стандартное меню товарных разделов?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Мика Рух
  • Группа: Пользователь
  • Сообщений: 68
  • Регистрация: 22.11.2011

23.04.2012 11:10

Подскажите, пожалуйста, в каком файле Магенто формирует html меню категорий?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

23.04.2012 11:44

Для Magento Community Edition версий ниже 1.7: app/design/frontend/base/default/template/catalog/navigation/top.phtml
Для Magento Community Edition версий не ниже 1.7: app/design/frontend/base/default/template/page/html/topmenu.phtml

#3 Мика Рух
  • Группа: Пользователь
  • Сообщений: 68
  • Регистрация: 22.11.2011

23.04.2012 11:49

В /catalog/navigation/top.phtml формируется цикл и общие блоки. А где найти файл, в котором формируются пункты <li><span>?

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

23.04.2012 11:52

А если подумать?

#5 Мика Рух
  • Группа: Пользователь
  • Сообщений: 68
  • Регистрация: 22.11.2011

23.04.2012 11:59

В каком-то js файле?
В xml этого не находжу...

 <?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 ?>


#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

23.04.2012 12:01

Фрагмент из какого файла вы опубликовали?

#7 Мика Рух
  • Группа: Пользователь
  • Сообщений: 68
  • Регистрация: 22.11.2011

23.04.2012 12:02

Из top.phtml

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

23.04.2012 12:03

Какой конкретно версии Magento Community Edition?

#9 Мика Рух
  • Группа: Пользователь
  • Сообщений: 68
  • Регистрация: 22.11.2011

23.04.2012 12:06

версия 1.6.2.0

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

23.04.2012 12:09

Вы ошибаетесь, файл app/design/frontend/base/default/template/catalog/navigation/top.phtml в Magento Community Edition 1.6.2.0 не содержит указанного вами фрагмента программного кода.
Для начала вам нужно научиться ориентироваться в файловой системе вашего персонального компьютера.

#11 Мика Рух
  • Группа: Пользователь
  • Сообщений: 68
  • Регистрация: 22.11.2011

23.04.2012 12:14

Код из темы, которую использую.
В шаблоне base:
<div class="nav-container">
    <ul id="nav">
        <?php echo $_menu ?>
    </ul>
</div>


Но это все равно, не говорит, откуда подтягивается разметка пунктов.

#12 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

23.04.2012 12:18

echo $_menu
- оттуда и берётся разметка.

А формируется она, очевидно, в классе, экземпляром которого является переменная $this.
А узнать имя класса можно, очевидно, используя стандартную функцию PHP get_class.
А узнать имя файла по имени класса в Magento совсем просто, потому что имена классов отражают их положение в файловой системе.

#13 Мика Рух
  • Группа: Пользователь
  • Сообщений: 68
  • Регистрация: 22.11.2011

23.04.2012 13:18

Спасибо!
Уже известно имя класса: Mage_Catalog_Block_Navigation
Но папки "Block" не существует. А без нее, получается, что ведет на этот же файл top.phtml

#14 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

23.04.2012 15:21

А какие папки существуют?

Поделиться темой: