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

8

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

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

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

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

При использовании RWD показывает меню, как это

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

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

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

Matt
источник
Рид Бломквист, ваш ответ просто превосходен .. работает как шарм
Мохаммед Аквил

Ответы:

22

Для этого сначала нужно (если вы этого еще не сделали) создать каталог пользовательских шаблонов в пакете разработки RWD. Это позволяет избежать перезаписи или перезаписи шаблонов по умолчанию, которые находятся в 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

После создания каталога шаблонов вашего верхнего меню скопируйте 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 -> Система -> Конфигурация -> Общие -> Дизайн -> Темы и установить в поле «Шаблоны» значение «пользовательский» -> Сохранить конфигурацию, а затем очистить кэш.

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

Рид Бломквист
источник
Это решило проблему. Я сталкивался с подобным сообщением, но это не объясняло о создании пользовательских каталогов или очистке кэша.
Мэтт
-2

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

.view-all {
    display: none;
}
user2993265
источник
скрытие чего-либо с помощью css на самом деле не удаляет, а просто скрывает
Хаим