9 базовых правил при разработке сайта на MODX
- Блог
- 9 базовых правил при разработке сайта на MODX
1798
9 базовых правил при разработке сайта на MODX
Если соблюдать данные правила то в разы проще будет и менеджеру при работе с сайтом, да и поддерживать сайт будет проще.
- Готовим админку для менеджеров (скрываем лишние поля, разносим по вкладкам, настраиваем страничку приветствия) – Работы на 10-15 минут но сразу избавляет нас о вопросов, а зачем это поле а что делать с этим, + когда нет лишних элементов то те кто не работал раньше с MODX не пугает админка. Простота спасет мир :)
- Все значения которые может менять менеджер (телефон, email, copyright, и т д) выносим в документ главная через – cfgTV – Так как MODX у нас очень гибкая система то и вечно базовые параметры или настройки выносятся кто куда хочет и как хочет, в итоге не получается нормально обьяснить как же поменять номер телефона на сайте, а когда вы придерживаетесь 1 стиля то на этот вопрос уже не нужно тратить время вспоминая как же там сделано.
- Шаблоны, чанки, сниппеты разбивать на тематические группы и комментируем – извечная проблема когда только делаешь сайт само собой помнишь что где и куда положил и как называется а вот уже через 2-3 месяца сам себя ругаешь что поленился писать комментарии и группировать. Что уже говорить когда приходиться поправлять чьи то сайты :)) Думаю все не раз вспоминали других программистов не злым тихим словом...
- Использовать пространство имен (что)-(где)-(тип елемента)
news-home-tpl
– из которой сразу понятно что это шаблон для вывода новостей на главной странице – это еще 1 способ к прошлому правилу который позволяет делать самокоментируемые названия, ведь используя данную логику, потом нет проблем в поиске нужного элемента - Создаем служебные страницы 404, sitemap.xml (проверяем что подключенны все шаблоны для SEO) Убирать служебные страницы типа 404, sitemap.xml в документ (system) который отмечен как неопубликован и снята галочка учавствует в URL – Порядок и стандартные вещи облегчают работу, ибо все равно это те вещи которые нужны на сайте и рано или поздно клиент спросит а почему нету :( особенно это будет когда у вас по горло другой работы уже над д другим проектом. потому не забываем ))
- Не плодим лишние сущьности, все должно быть по делу, меня очень напрягают чанки типа
{{catalog_content}}
– зачем если это все должно быть в шаблоне. тоесть если у нас чанк используется только 1 раз – значит он не надо!!! наличие чанка только при условии что он используется 2 и более раз. исключение только для чанков если нужно которые доступны для редактирования клиентом. – Как я люблю видеть простыню чанков (100+) Это просто праздник:) А частая практика это создавать под каждый шаблон лишний чанк типа main_content но на вопрос зачем мне так никто и не ответил :) По факту лишние запросы, + лишние клики при поиске нужного места где поправить. - Если в шаблоне вывода к примеру в Ditto нет вложенных сниппетов то используем
&tpl=`@CODE: ...`
– это так же дает возможность уменьшить количество елементов – что приводит к более удобному виду и простоте работы. – тоже очень удобно так как сокращает количество елементов в итоге с сайтом приятно работать не теряясь в элементах. - Используем всегда
[[]]
кроме случаев когда у нас идет работа с$_POST
,$_SESSION
– ну или когда по другому никак, ибо все остальное в том числе пагинация чудесно работает с кешированными вызовами и даже вложенные сниппеты тоже дружат когда кешированно и там и там) ибо шутки типа[!Wayfinder!]
не понимаю зачем делать :) – Тоже не понятный момент во всех примерах и документации всегда приведен пример[!!]
хотя как раз логичней учить начиная с[[]]
ведь первым делом делаются простые сайты без сложной логики, а когда уже прийдет время работы с сложной логикой то и понять что такое не кешируемые вызовы будет проще. - Используйте по максимуму стандартные решения. – Банально. зачем писать свой вывод меню? если есть Wayfinder ??, только когда у вас уже начинаются проблемы со скоростью работы сайта только тогда стоит заниматься оптимизацией и то скажу по секрету Wayfinder не будет тем узким местом которое надо оптимизировать в 99%
p.s. Примеры написанны под MODX EVO, но и к REVO все применимо на все 100%
p.s.s Используйте стандартны и привычные шаблоны, это облегчает работу)