Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save f4rr3ll1990/343e1febc40faa3c801e7160360243c7 to your computer and use it in GitHub Desktop.
Save f4rr3ll1990/343e1febc40faa3c801e7160360243c7 to your computer and use it in GitHub Desktop.
Посадка сайта на MODx
1. Установка MODx. Плагины: Ace, Collections, pdoTools, FormIt, phpThumbOf, TinyMCE / CKEditor, translit, MIGX, AutoTemplate.
Настройки:
Раздел: Дружественные URL
Транслитерация псевдонимов: russian;
Использовать дружественные URL: Да;
Строгий режим дружественных URL: Да;
Проверять на дублирование URI во всех контекстах: Да;
Использовать вложенные URL: Да;
Не забудьте также переименовать ht.access в .htaccess в корне сайта.
Раздел: Панель управления
Показывать описание в верхнем меню: Нет.
Раздел: Сайт
Страница ошибки 404 «Документ не найден»: ID ресурса 404;
Публиковать по умолчанию: Да;
Название сайта: Название вашего проекта. ([[++site_name]])
Раздел: Система и сервер
Отправлять заголовок X-Powered-By: Нет.
Пространство имен: ace
Размер шрифта: 18px;
Мягкая табуляция: Нет;
Размер табуляции: 2;
Страницы:
Страница 404 - страница для настройки «Документ не найден». Не показывать в меню;
sitemap - ресурс для вывода [[pdoSitemap]]. Пустой шаблон. Не показывать в меню. Тип содержимого: XML. Не доступен для поиска. Не использовать HTML-редактор;
robots - ресурс для вывода robots.txt. Пустой шаблон. Не показывать в меню. Тип содержимого: text. Не доступен для поиска. Не использовать HTML-редактор.
Содержимое сниппета host:
<?php
echo $_SERVER['HTTP_HOST'];
Содержимое robots.txt для MODx с использованием сниппета host:
User-agent: *
Disallow: /super/
Disallow: /assets/components/
Disallow: /core/
Disallow: /connectors/
Disallow: /index.php
Disallow: /index.html
Disallow: /index
Disallow: *?
Host: [[host]]
Sitemap: http://[[host]]/sitemap.xml
2. Подключить Gulp - скинуть app, sass, package.json, gulpfile, .bowerrc. npm install - загрузить все из списка
packaje.json,
изменить пути, изменить proxy gulpfile
3. Скопировать index в шаблон "Главная".
<base href="[[!++site_url]]">
<meta charset="[[++modx_charset]]">
<title>[[*pagetitle]] - [[++site_name]]</title>
<meta name="description" content="[[*description]]">
К путям добавить accets/app/ (ctrl-h)
4. Создать чанки [[$head]], [[$foot]]
Если один из элементов чанка носит изменяемое значение в зависимости от шаблона к которому он подключается, то мы вместо
этого значения пишем "[[+elementProp]]", а затем в подключении чанка добавляем [[$head? &elementProp='ishome']]. Если
мы хотим установить дефолтное значение для чанка, то заходим в параметры, разблокируем и добавляем параметр
с именем elementProp и значением 'ishome'. Все повторяющиес куски кода также добавляем в чанк.
5. Чтобы добавлять какую-либо важную краткую инфу, вроде телефона, почты и т.д., можно создать собственные системные
настройки.
Вывод в MODx:
- системные элементы [[++element]]
- чанки [[$element]]
- сниппеты [[element]]
Начинаем постраничное редактирование.
6. Вывод меню
Создаем все необходимые страницы. Удаляем из чанка ul>li (pdo создат свой), прописываем [[pdoMenu? &parents='0' &level='1']]
7. Заполняем страницу. Если у нее есть основное и единственное содержание, то его следует вводить в "Содержимое". В
противном случае, создаем дополнительные поля. Для большей логичности созданные поля мы распределяем по категориям.
Доп поля MIGX:
Tabs:
[
{"caption":"Tab Title", "fields": [
{"field":"title","caption":"Name"},
{"field":"description","caption":"Description","inputTVtype":"textarea"},
{"field":"imageTV","caption":"Photo","inputTV":"imageTV"}
]}
]
Table:
[
{"header": "Name", "sortable": "true", "dataIndex": "title"},
{"header": "Photo", "width": "80", "sortable": "false", "dataIndex": "imageTV","renderer": "this.renderImage"}
]
Frontend
[[getImageList?
&tvname=`home-list`
&tpl=`@CODE:<li><i class="fa fa-check"></i>[[+title]]</li>`
&docid=`1`
]]
Дефолтные доп. поля.
В параметрах указываем дефолтное поле
Вывод - через pdoField [[pdoField? &field=`name`]]
8. Вывод изображенией - через phpthumbof:
[[!phpthumbof? &input=`[[+image]]` &options=`&w=640&h=480&zc=1`]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment