Отзывы на MODX. Отдельный Chunk. Понятный вызов.
Отделите код отзывов от текста страницы: сохраните iframe ELL в своём Chunk и вызовите его там, где шаблон действительно выводит содержимое Resource.
Задача
Условный пример
Учебная ситуация для объяснения сценария.
До
Учебная ситуация: автор создал Chunk с отзывами, но забыл вызов на странице. Публичная подборка ELL открывается, а на сайте блока нет. Он собирается менять общий шаблон, хотя отзывы нужны только в одном Resource.
После
В учебном примере автор сохранил iframe в собственном Chunk ellReviews и добавил [[$ellReviews]] в содержимое нужного Resource. Активный шаблон выводит [[*content]]. После публикации проверяются отзывы и соседние разделы именно этой страницы.
Порядок действий
- В ELL откройте «Отзывы на сайте» и нужную подборку. В блоке «Модерация» проверьте записи и опубликуйте те, которые готовы показать. Используйте реальные отзывы с разрешением на публикацию.
- В блоке «Оформление и публикация» проверьте «Включить публичную ссылку и виджет» и при изменении нажмите «Сохранить настройки». В «Ссылка и установка на сайт» нажмите «Открыть публичную страницу», сверьте подборку, затем «Скопировать код». Копируйте весь выданный iframe.
- Уточните, что сайт работает на MODX Revolution: маршрут основан на официальной документации 3.x. Выберите один Resource типа Document и проверьте, что его активный Template выводит [[*content]] в нужном месте. Для сайта с другой сборкой или конструктором полей точку вставки определяет разработчик.
- В менеджере откройте Elements → Chunks → New Chunk. Задайте собственное имя, например ellReviews. Это выбранное вами имя, а не установленный элемент ELL. Вставьте полный iframe из кабинета и сохраните Chunk.
- В Content выбранного Resource добавьте вызов [[$ellReviews]] после нужного абзаца. Замените имя в вызове, если создали другое. Документация MODX поддерживает вызовы Chunk в содержимом и шаблонах; для одной страницы используйте её Content, а не общий Template.
- Сохраните Resource и повторно проверьте текст вызова и содержимое Chunk. Если редактор или сборка сайта меняет код, согласуйте допустимое поле с разработчиком. У Resource есть настройка richtext, но её вид и редактор зависят от конфигурации; единого переключателя HTML здесь не предполагается.
- Проверьте публикацию Resource и отсутствие мешающей даты снятия с публикации, затем откройте его публичный адрес как гость. Сверьте название подборки и одобренную запись с ELL. Если виден сам текст [[$ellReviews]], проверьте, что он находится в обрабатываемом содержимом MODX, а не в экранируемом поле конструктора.
- Проверьте страницу на узком и широком экране. Выданный ELL код имеет width="100%" и height="800". Высоту можно изменить вручную; прокрутка остаётся внутри виджета. Ширина относится к контейнеру, а не ко всему экрану. Автоматическое увеличение высоты не предполагается. Если меняете размеры в Chunk, после сохранения проверьте все места, где он вызван, а не только открытую страницу.
Проверить перед завершением
- Используется MODX Revolution; выбран конкретный Resource типа Document.
- Публичная подборка ELL содержит нужные одобренные записи.
- В новом Chunk сохранён полный iframe с неизменным src.
- Имя Chunk совпадает с именем в вызове [[$ellReviews]].
- Template выбранного Resource действительно выводит [[*content]].
- Resource опубликован; проверен адрес без входа в менеджер.
- После правки общего Chunk проверены все использующие его места.
Ограничения и условия
Вопросы и ответы
Зачем сохранять iframe в Chunk?
Chunk позволяет держать вставку отдельно и вызывать её по имени. Для одной страницы вызов можно поставить в Content Resource. Если вызовов несколько, изменение этого Chunk затронет каждое место его использования.
Почему Chunk сохранён, а отзывов на странице нет?
Проверьте вызов, совпадение имени и вывод [[*content]] в активном Template. Само создание Chunk не размещает его на странице. Отдельно проверьте публикацию Resource и публичную ссылку ELL.
Нужен ли PHP Snippet для iframe?
В описанном маршруте нет: в Chunk хранится предоставленный HTML. Это вставка публичного виджета, а не серверный импорт отзывов в MODX.
Куда вставлять вызов, если отзывы нужны только одной странице?
В её Content, если Template выводит это поле. Размещение вызова в общем Template требует проверки всех связанных страниц и должно быть согласовано с владельцем сайта.
Подойдёт ли эта инструкция для MODX Evolution?
Порядок проверен по документации Revolution 3.x. Для Evolution и нестандартных конструкторов полей он не заявляется: сначала уточните поддерживаемую точку HTML-вставки.
Нужно ли заново копировать код после одобрения отзыва?
При том же адресе публичной подборки iframe обращается к ней. Отзывы проверяются в ELL; затем владелец сверяет показ на сайте. Сам Chunk не становится хранилищем отзывов.
Подготовьте отзывы для MODX.
Создайте подборку ELL, проверьте записи и установите предоставленный код по инструкции.
Создать подборку