Magento 2: Верхнее навигационное меню не отображается на домашней странице
В качестве заголовка. Я установил новый Magento CE 2.1.7
- Отказался от установки образцов данных (без образцов данных)
- Тема Luma выбрана по умолчанию (отображается логотип Luma)
Предпринятые шаги:
Создал подкатегорию в качестве дочернего элемента категории по умолчанию
-
Убедитесь, что Категория и подкатегория по умолчанию включены с
Admin >> Products >> Categories
:Включить категорию = Да
Включить в меню= Да
-
Настройка отображения для категории
Якорь = Да
-
Убедитесь, что категория по умолчанию выбрана из
Admin >> Stores >> All Stores >> Main Website Store
Корневая категория = Категория по умолчанию (выбирается из раскрывающегося списка)
Я выполнил следующие команды для очистки кэша и переиндексации:
php bin/magento indexer:reindex; rm -R pub/static/*; rm -R var/view_preprocessed/*; php bin/magento cache:flush; php bin/magento cache:clean;
- Очищенный и отключенный кэш лаков на уровне сервера
- Перезапущен Апач
- Обновлен Magento CE с 2.1.7 до 2.1.9
Ожидаемый результат:
- Для просмотра верхнего меню навигации на всех страницах
Фактические результаты (меню отображается на всех страницах, кроме домашней страницы):
- Верхнее меню навигации не отображается на домашней странице
Рисунок 1. Домашняя страница. Меню не отображается:
- Верхнее меню навигации, однако отображается правильно на других страницы, такие как
Customer Login
иCreate New Customer Account
страницы
Рисунок 2. Создайте новую страницу учетной записи клиента. В меню отображается:
Я чувствую, что упускаю что-то очевидное прямо у себя под носом.
Как отобразить верхнее меню навигации на домашней странице?
3 answers
После выполнения основных руководств и устранения неполадок на веб-страницах выяснилось, что проблема связана с моей конфигурацией хостинга.
Кэш лака, по-видимому, является причиной исчезновения меню. Отключение лака приводит к тому, что меню не отображается .
Решение состоит в том, чтобы включить кэш лаков, и снова появилось меню, что для меня довольно странно и трудно понять.
Обновление:
Оказывается, были разные переключатели включения/выключения кэша исчезания, и я перепутал их включение/выключение.
- Первый элемент управления кэшированием лаков, который у меня есть, - это главный переключатель на уровне сервера (из интерфейса моей панели хостинга).
- Второй для уровня приложений (также из интерфейса моей панели хостинга), который позволяет мне управлять включением лака для отдельных приложений на сервере, а не для всего сервер, как в главном коммутаторе.
- Третий - из администратора Magento (панель администратора Magento 2 - страница конфигурации).
У меня были перепутаны настройки. ( Я действительно не могу вспомнить на момент написания этого обновления ) Я думаю, что у меня были настройки лака приложения Magento, включенные администратором, но отключенные с сервера или на уровне приложения.
Теперь, если я хочу использовать лак, я должен убедиться, что все настройки выровнены. Включено сверху вниз (уровень сервера до уровня Magento) и выключите снизу вверх.
Взгляните на эту проблему:
Https://github.com/magento/magento2/issues/3421
Резюме:
В некоторых случаях, когда активирован кэш лаков, из-за проблемы с Magento 2 и лаком меню навигации может исчезнуть.
Чтобы решить эту проблему Magento, вы можете удалить атрибут TTL (удалить ttl="3600") из/vendor/magento/module-theme/view/frontend/layout/default.xml, и появится меню навигации.
Пожалуйста, попробуйте эти команды
php bin/magento setup:static-content:deploy
php bin/magento cache:clean