Boilerplate. Базовая настройка сайта.
Список устанавливаемых дополнений
Ресурсы
Плагины
Системные настройки
boilerplate_tpl_css ( шаблон загрузки css ) =
boilerplate_hide_vtabs_tv = нет
Другое
- FormIt (обработка форм, отправка заявок на электронную почту)
- MIGX (для создания табличек у ресурсов)
- TinyMCE Rich Text Editor (визуальный редактор)
- translit (автоматическая транслитерация адресов страниц)
- SEO Tab (настройка страницы для поисковых систем)
- SEO Pro (настройка шаблона сайта в поисковой выдачи)
- Ace (лучший редактор кода)
- AjaxForm (отправка форм через Ajax)
- controlErrorLog (управление журналом ошибок)
- MinifyX (автоматизированное сжатие скриптов и стилей сайта)
- mixedImage (смешанная загрузка файла)
- phpThumbOn (для изменения размера и сжатия изображения)
- pdoTools (быстрая выборка страниц и пользователей сайта)
- tinyCompressor (автоматическая оптимизация загружаемых файлов)
Ресурсы
- Главная
- Сервис
- 403 (страница ошибки 403 «Доступ запрещен»)
- 404 (страница ошибки 404 «Документ не найден»)
- 503 (страница «Сайт недоступен»)
- Карта сайта (HTML)
- SiteMap (sitemap.xml)
- Robots (robots.txt)
- head (файловый элемент)
Плагины
- Boilerplate
- привязывается CSS-файл к странице редактирования ресурсов (assets/boilerplate/mgr/manager.css)
- сжимает вывод html для Google (можно отменить в системной настройке boilerplate_compress_output_html)
- возможность спрятать вертикальный таб для tv(системная настройка boilerplate_hide_vtabs_tv)
- модификаторы fenom:
- alias (транслитерация строки)
- m2 (модифицирует строку m2 в квадратные метры)
- phone (убирает лишние символы)
- table (модифицирует значение поля table в таблицу)
- managerBreadCrumbs (хлебные крошки в админке)
Системные настройки
CORE
- allow_multiple_emails = Да (чтобы у каждого пользователя была своя электронная почта)
- friendly_alias_realtime = Да (генерация псевдонима в реальном времени)
- friendly_urls = Да (включение дружественных URL)
- friendly_urls_strict = Да (строгий режим)
- publish_default = Да (по умолчанию ресурс создаётся опубликованным)
- use_alias_path = Да (чтобы в URL учитывался псевдоним родителя, а не его замороженный URL)
- friendly_alias_translit = russian (настройка транслитерации)
- resource_tree_node_name = menutitle (чтобы названия ресурсов в дереве были покороче)
- resource_tree_node_tooltip = alias (чтобы можно было понять, какой у ресурса адрес)
- locale = ru_RU.utf8 (для генерации даты с названиями месяцев)
- request_method_strict = Да (отключение доступа к странице по id)
- unauthorized_page = {id} (id 403 страницы)
- error_page_header = HTTP/1.0 404 Not Found (заголовок для 404 ошибки)
- error_page = {id} (id 404 страницы)
- site_unavailable_page = {id} (id 503 страницы)
PDOTOOLS
- pdotools_fenom_default = Да (использование Fenom в чанках)
- pdotools_fenom_modx = Да (разрешаем MODX в Fenom)
- pdotools_fenom_parser = Да (использование Fenom на страницах)
- pdotools_elements_path = {core_path}/ (для загрузки файловых элементов)
TINYCOMPRESSOR
- tinycompressor_tinypng_upload_enable = Да (сжимает загружаемые изображения)
TINYMCERTE
- tinymcerte.plugins = advlist autolink lists modximage charmap print preview anchor visualblocks searchreplace code fullscreen insertdatetime media table contextmenu paste modxlink textcolor colorpicker
- tinymcerte.toolbar1 = undo redo | styleselect | backcolor forecolor bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image
BOILERPLATEboilerplate_compress_output_html = Да (сжимает вывод html для Google)
boilerplate_tpl_css ( шаблон загрузки css ) =
<link rel="preload" href="[[+file]]" as="style" onload="this.onload=null;this.rel='stylesheet'">boilerplate_tpl_js (шаблон загрузки js) = <link rel="preload" href="[[+file]]" as="script"><script src="[[+file]]" defer></script>boilerplate_social = [[«behance»,«Behance»], [«dribbble», «Dribbble»], [«facebook*-f»,«facebook*»], ...] (список соц. сетей)boilerplate_hide_vtabs_tv = нет
Другое
- Установка HTTP заголовков
- X-Frame-Options:deny
- X-XSS-Protection:1;mode=block
- X-Content-Type-Options:nosniff
- Referrer-Policy:no-referrer
- Cache-Control: max-age=31536000, must-revalidate
- Удаляется файл changelog.txt, чтобы убрать сообщение о том, что безопасность сайта не в порядке
- Переименовываются файлы ht.access в корне и в папке /core/, чтобы заработали дружественные URL
- Меняем контент главного шаблона и делаем его статичным
- Хуки для minifyX
- libs.php (для загрузки библиотек)
- ms2 (инициализации minishop2, для поддержки асинхронной загрузке скриптов)
*Meta, которой принадлежат facebook и instagram признана экстремистской в России
Комментарии: 27
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
В htaccess в папке core закрывает доступ извне, и как раз убирает предупреждение, которое вы убираете удалением файла :facepalm:
Но скрывать потенциальную проблему — лучший способ.
Так же я интегрировал в свою сборку gulp (для внесения изменений в верстку на лету). Ну это мне просто так удобно, когда верстка рядом с кодом лежит.
В будущем планирую этот билдер выложить в открытый доступ, но сейчас есть 2 небольшие проблемы, вернее одна небольшая, с ней сам справлюсь — а вот вторая большая. Мне нужна помощь в написании ресолвера, который будет устанавливать пакеты из папки. В идеале принцип работы такой, в резолвере прописать логику установки компонентов, в файле конфигурации указать название пакета и его версию, если резолвер такой пакет находит — производим установку, если нет — пропускаем и работаем дальше.
Возможно @Илья Уткин подскажет или поможет с реализацией этой идеи. Это нужно для установки собственных пакетов, которых нет в репозиториях. Свой репозиторий делать ради этого, такая себе идея. Конечно можно установить ручками — но идея как раз избежать этого! :)
Возможно кто-то уже делал такой резолвер и поделится решением.
Часть с установкой пакетов взял из заметки Василия Наумкина.
Просто в массивах указываете нужные параметры и запускаете.
Не забываем указать логин и пароль администратора в конфигурации.
это вот эта строка $properties = $source->getProperties();
Не подскажите в чём дело?
если закомментировать то идёт процесс дальше.
далее на создании ресурсов ломается
только что поставил
php 7.2
не хватает ещё создание шаблонов.
Может из за этого глюки были.
С нуля всё получилось. Спасибо Вам.
А не подскажите как внедрить создание шаблонов?
Все поля для шаблона можно посмотреть тут в поле fields
В предыдущем обновлении ошибся, поэтому системные настройки не устанавливались.
ClientConfig добавил в сборку.
Тут уже нужно вставлять самому в чанке или в самом шаблоне.
Да, добавлю в след. обновлении.
После обновления компонент вновь перезаписывает шаблон с индексом 1. На рабочем сайте это вообще бывает не удобно. Может лучше новый шаблон создавать?