HelenStar
@HelenStar
Начинающий frontend

Как лучше интегрировать верстку Landing Page на Modx?

Всем привет!

Есть landing на 10 экранов, который попросили после верстки посадить на cms, в которой можно было бы править все, что угодно. Выбрала modx, потому что знакома с ней давно, мне она нравится, но делала в основном на ней многостраничники и без возможности редактировать каждую строчку текста для контент-менеджера. Поэтому при интеграции на нее простого, но полностью редактируемого для км лэндинга столкнулась с вопросом, как сделать это лучше с точки зрения оптимизации (читала, что если все настраивать через доп. поля, то сайт будет тормозить сильно) и с точки зрения удобства.

Кто-нибудь может поделиться своим опытом со всеми плюсами и минусами?

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

Меня этот вопрос стал беспокоить больше из-за модальных окон, а именно из-за количества контента в них. Хотелось бы, чтобы они как обычные страницы не грузились вместе с главной, а загружались только при вызове. Если делать их через чанки с редактируемыми доп. полями, чтобы такие окна км собирал сам через доп. поля к шаблону, то в любом случае все окна создадутся внутри страницы вместе с остальным контентом, тем самым увеличив время загрузки страницы. А если через ресурсы тогда? Просто в модальные окна контент из ресурсов я еще никогда не выводила. Одно дело - статичные страницы в ресурсах, на которые переходишь по ссылкам из меню, другое дело - лишь часть кода, разбитая на чанки для доп.полей.

Подскажите, пожалуйста, как лучше все это организовать?

Насчет всего ленда на данный момент остановилась на варианте: модальные окна с динамичным контентом создавать через доп.поля (сами шаблоны для каждого типа окон хранятся в чанках), как и добавляемые элементы в самих секциях. А остальные статичные элементы в секциях, которые не надо добавлять, а только править, типа заголовков, текста, картинок решила сделать через ClientConfig. Пока не знаю насколько хорош такой вариант будет. Для км, мне кажется, будет удобным. А вот как это скажется на скорости загрузки страницы, ибо что-то пишут в отзывах, что все подобные варианты сильно влияют на это.
  • Вопрос задан
  • 975 просмотров
Решения вопроса 1
BiOpSIhoS
@BiOpSIhoS
Хранение информации и ее вывод на странице - разные вещи.

Есть лендинг на 10 экранов. Если инфы много, значит 1 экран - 1 ресурс. Если мало и там все просто, то можно использовать migx. Юзать ClientConfig для заголовков страниц и картинок - так себе затея. У вас есть 10 заголовков и 10 картинок. В ресурсах у вас есть для этого pagetitle и image (в итоге всего 2 поля, легко вызвать в шаблоне/чанке, легко обработать), а в ClientConfig-е придется создать 20 ключей. К тому же усложнится процесс редактирования блока, когда контент и картинки будут в ресурсе, а заголовок нужно будет править где-то в другом месте. Используйте ClientConfig для данных, которые будут одинаковы в каждом блоке (телефон, почта, адрес).

Вывод инфы - все зависит от того, что и куда нужно выводить. Все поп-апы можно вызывать аяксом, что бы они не грузили страницу (куча готовых библиотек). Все изображения оптимизировать (например тут: ) превьюшки делать через ptumb, а не css-ом размер менять. )) Сам контент, если его ну прям очень много, можно подгружать тоже аяксом (допустим, при скроле страницы).

Избегайте большой вложенности чанков, сложных условий. Лучше используйте femon, он работает шустрее. Не забывайте, что стандартный шаблонизатор работает наружу, то есть например при условии [[+id:is=`1`:then=`[[$da]]`:else=`[[$net]]`]], шаблонизатор возьмет код обоих чанков, а только потом выведет тот, что подходит под условие, как результат (если в чанках кода много) - более медленная загрузка страницы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы