Виджет настраиваемой категории Magento, не появляющийся на сцене сервера

77
6

Я последовал этому (первый комментарий), magento - название категории и изображение в статическом блоке? для создания простого виджета для отображения изображения категории и названия из статического блока на странице CMS. Он отлично работает на моей локальной версии MAMP Magento Enterprise 1.13.0.2. Однако он не работает на сцене/тестовой среде Magento 1.13.1.0. (Убунт).

Это не ошибка, она как бы игнорирует файл шаблона (info.phtml). Когда я вернулся к теме по умолчанию, я понял, что мне пришлось скопировать файлы шаблонов в корпоративную папку по умолчанию, чтобы заставить ее работать, но это произошло (локальная версия). Я уверен, что папки шаблонов находятся в каждой из тем, базы, предприятия (по умолчанию), MyTheme (по умолчанию (по умолчанию для предприятия) и (MyTheme/MyThemeVariant)).

Единственная настройка/конфигурация, которая, по-видимому, отличается между локальным и этапом, заключается в том, что симпатичный URL-адрес не работает на локальном. Я просмотрел htaccess и все еще не разрешен. В обеих версиях родной виджет ссылки категории не работает, но я не уверен, что это актуально.

Я отключил любые расширения, отключил кеш и очистил индекс. Еще ничего.

Я искал ответ, повторил шаги, изменил и изменил любые настройки. Думаю, это может быть актуально в течение 3 дней, поэтому я хорошо застрял. Все, что может предложить, я попробую.

спросил(а) 2021-01-19T19:53:40+03:00 6 месяцев, 2 недели назад
1
Решение
78

Таким образом, в Magento Enterprise есть также полный кеш страниц, к которому вы можете получить доступ через Magento Admin здесь: System-> Конфигурация → System-> advanced-> Внешние настройки полноэкранного кэша.

На странице System-> Управление кешем, а также отключите все кеши, вы должны очистить Magento Cache и хранилище кэш-памяти.

У вас может быть "кеш", называемый Redis или APC, но я не думаю, что это влияет на выход.phtml. и если вы можете получить доступ к виджету в конце, я не думаю, что эти проблемы являются проблемой.

У вашего веб-сервера может быть полный кеш страниц, такой как Varnish, но я не знаю, как его использовать или включить или выключить.

Теоретически ваши заголовки веб-серверов могут сказать: "Эта страница не обновляется, поэтому интернет-провайдеры могут хранить локальные копии в своих кешах", но я был бы удивлен, если бы это было так (проверьте свой заголовок и проверьте Cache-control Expires и Last-modifed заголовки, если вы хотите, чтобы исключить эту возможность).

У вашего браузера может быть собственный небольшой кеш (который вы можете удалить из настроек браузера).

Если это не проблема с кэшем, в моем опыте .phtml файлы пропущены, если у них есть ошибки PHP, но вы работаете на своем локальном dev-сервере. Это может быть проблема с разрешением файла? Может ли это быть в виджетах вашего сервера, который не обрабатывается вашими виджетами.phtml? Как alast resort, попробуйте изменить свой виджет.phtml на действительно простой файл, например <?php echo('test PHP output');?> <?php echo('test PHP output');?> и посмотреть, не делает ли это рендеринг - попробуйте поместить виджет на разные страницы (т.е. новые страницы, которые не будут кэшироваться в любом месте), и посмотрите, все ли это происходит.

Не могли бы вы столкнуться с конфликтом пространства имен с другим модулем? Например, XML файл изменяет ваше XML-имя блока виджета, которое устанавливает шаблон.phtml? Ваш файл widget.xml объявляет <supported_blocks>...</supported_blocks> который может быть исключен из блока, в который вы пытаетесь отобразить виджет?

Что еще? Вы упомянули, что этот виджет отображает информацию о категории: ссылаетесь ли вы на категорию, существующую на промежуточном сервере? Вероятно, у него будет другой идентификатор категории, чем ваш сервер-разработчик, и/или проверьте, что категория видна на веб-сайте и в магазине.

Хорошо, я думаю, что сейчас я не в курсе.

ответил(а) 2021-01-19T19:53:40+03:00 6 месяцев, 2 недели назад
46

Проблема заключалась в том, что первая буква "Block" php файла была строчной. Я изменил его с info.php на Info.php, и теперь все работает так, как ожидалось.

Это было единственное самое разочаровывающее расследование в Magento. Единственное, на что я надеюсь, это то, что он спасает кого-то от боли.

ответил(а) 2021-01-19T19:53:40+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема