magento 2 настраиваемая страница phtml

Просто познакомившись (достаточно) с Magento 1.9 и сделав необходимые настройки, мне сказали, что, как только он выйдет, мы переходим на Magento v2.0. Обнаружив различия в структуре файлов, я думаю, что я могу видеть, где разместить свой код для пользовательских страниц, которые мы используем, но как я могу добавить эту страницу из моего проекта в статический блок для дальнейшего использования? Ранее используемый метод был следующим (я понимаю, что это может не соответствовать лучшей практике, но это работало):

  1. Создайте папку элементов в папке тем или шаблонов ядра. например. /app/design/frontend/<theme>/default/template/myelement/mypage.phtml
  2. Добавьте эту страницу / элемент в статический блок, используя следующую информацию в редакторе контента:

    {{block type="<theme>/default" template="myelement/mypage.phtml"}}

Этот блок может быть добавлен на страницы категорий по мере необходимости.

В Magento 2 я попробовал то, что, по моему мнению, необходимо: реплицировать файловую структуру и добавить к ней файлы phtml, поэтому файл шаблона теперь находится в:

/app/code/<supplier>/<module>/view/frontend/templates/mypage.phtml

Добавляем в редактор контента следующее:

{{block type="<supplier>/<module>" template="mypage.phtml"}}

К сожалению, это не отображает намеченную страницу (элемент). Он также не отображает вызывающую запись "{{block", что обычно происходит, когда строка недействительна, поэтому я могу только предположить, что я что-то упустил со ссылкой на этот шаблон.

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

РЕДАКТИРОВАТЬ: продолжение исследований по этому привело меня к следующим предположениям:

  1. Magento 2 требует больше, чем просто новая страница.phtml, даже для простых настроек.
  2. Я все еще чего-то не хватает.....

Пройдя 3 разных урока по созданию новых модулей для Magento 2, каждый из которых предоставляет несколько разные методы, но, в сущности, это одно и то же, у меня теперь есть то, что, я считаю, должно быть всеми элементами кода, чтобы создать новый шаблон.phtml для отображения в статический блок.

Это привело к дополнительной проблеме, хотя. Пока у меня есть необходимый код, я не могу добавить модуль. Добавление модуля в файл etc/config.php, как предложено в 2 из 3 уроков, просто приводило к сбою M2, как администратора, так и интерфейса, при попытке очистить кэш. Это происходит после ручной очистки кеш-папок в каталоге var.

Кроме того, все еще не удается добавить файл шаблона.phtml к статическому блоку или странице с помощью редактора содержимого.

Здесь не так много волос, так что вам нужна помощь! заранее спасибо

3 ответа

На GitHub есть несколько примеров, включая https://github.com/magento/magento2-samples/tree/master/sample-module-newpage где показан модуль, добавляющий новую страницу с очень простым файлом шаблона PHTML. Однако этот пример не использует редактирование контента CMS - это пример, основанный на использовании файлов макетов.

Вы упомянули, что вы получаете сбои. Нужно больше подробностей, чтобы помочь в этом. Если вы решили, можете ли вы обновить этот вопрос и принять ответ, чтобы закрыть его? Спасибо!

Вы должны попробовать "класс" вместо "тип". Так что ваш код должен выглядеть так.

{{block class="<package>\<module>\Block\MyBlock" template="mypage.phtml"}}

Вы должны попробовать "VenderName_Modulename::myelement/mypage.phtml" вместо "myelement/mypage.phtml". Так что ваш код должен выглядеть так.

 {{block class="VenderNameModulename\Block\MyBlock" template="VenderName_Modulename::myelement/mypage.phtml"}}
Другие вопросы по тегам