Удалите ссылку "Просмотреть все категории" из навигации темы RWD


Как удалить ссылку Просмотреть все из меню в теме rwd?

Это текущий набор категорий, который у меня есть, и как я хочу, чтобы он отображался в меню

Категория 1
-- Подкатегория 1
---- Подкатегория 1
-- Подкатегория 2

Категория 2
-- Подкатегория 1

При использовании rwd меню отображается следующим образом

Категория 1
-- Просмотреть все категории 1
-- Подкатегория 1
---- Просмотреть все подкатегории 1
---- Подкатегория
-- Подкатегория 2

Категория 2
-- Подкатегория 1

Я пробовал искать, но не могу найти решение этой проблемы.

Author: Reid Blomquist, 2014-08-07

2 answers

Для этого вам сначала нужно (если вы еще этого не сделали) создать каталог пользовательских шаблонов в пакете RWD design. Это позволяет избежать перезаписи или перезаписи ваших шаблонов по умолчанию, которые живут в magento/app/design/frontend/rwd/default/template.

Для примера мы создадим magento/app/design/frontend/rwd/custom/template

Конкретный шаблон, который мы собираемся редактировать, - это topmenu renderer.phtml, который находится по адресу magento/app/design/frontend/rwd/default/template/page/html/topmenu/renderer.phtml. Чтобы правильно расширить этот файл, создайте соответствующую структуру каталогов в только что созданном каталоге magento/app/design/frontend/rwd/custom/template - вам следует в итоге получится каталог, который выглядит следующим образом: magento/app/design/frontend/rwd/custom/template/page/html/topmenu

После создания каталога шаблонов topmenu скопируйте файл renderer.phtml из rwd/default/template/page/html/topmenu в только что созданный каталог rwd/custom/template/page/html/topmenu.

Этот файл должен содержать следующий код в ~ строках 62 - 71:

    if (!empty($_hasChildren)) {
    $html .= '<ul class="level'. $childLevel .'">';
    $html .=     '<li class="level'. $nextChildLevel .'">';
    $html .=         '<a class="level'. $nextChildLevel .'" href="'. $child->getUrl() .'">';
    $html .=             $this->__('View All ') . $this->escapeHtml($this->__($child->getName()));
    $html .=         '</a>';
    $html .=     '</li>';
    $html .=     $this->render($child, $childrenWrapClass);
    $html .= '</ul>';
}

В скопированном файле вы захотите удалить или закомментировать середину раздела, чтобы у вас осталось:

    if (!empty($_hasChildren)) {
    $html .= '<ul class="level'. $childLevel .'">';
    $html .=     $this->render($child, $childrenWrapClass);
    $html .= '</ul>';
}

После сохранения файла вы можете перейти в раздел adminhtml -> Система -> Конфигурация -> Общие -> Дизайн -> Темы и установите в поле "Шаблоны" значение "пользовательские" -> Сохраните конфигурацию, а затем очистите кэш.

Теперь вы больше не должны видеть раздел "Просмотреть все ХХХ" навигации по вашим сайтам!

 22
Author: Reid Blomquist, 2014-08-08 04:40:09

Вы также можете добавить этот CSS куда-нибудь (например, styles.css)

.view-all {
    display: none;
}
 -2
Author: user2993265, 2017-04-25 01:43:07