Modx обмен с 1с
Так получилось, что я пропустил версию 2. Анонсы я, конечно, видел, и даже пытался смотреть видео — но как-то «не зашло» и не вдохновился.
Но процесс идет своим чередом и никто никого не ждет — уже на подходе версия 3 и нужно восполнять пробелы. Сподвигло и то, что появился и архив демо-сайта v.2 из видео уроков, все же лучше доходит, если если есть живой сайт и можно потыкать «клаву», чем просто смотреть мультики.
Сразу скажу — ниже никаких кодов не будет. Статья не про коды, а про то — что куда и почему. Статья для тех, кто как и я, делает первый подход.
А коды — авторы обещают выпустить и новое видео, и текстуальные мануалы, да и сейчас уже кое-что есть.
1. Исходные данные данные.
1.1. Архив тестового сайта Dmi3yy evo-2.0, этот архив есть в телеграме на канале новостей EVO, можно скачать и развернуть у себя, a в интернете этот сайт здесь
lessons.evo.im/
1.4. Исходный архив v.2 — он с blang (мультиязычность), и я изначально решил ставить сайт без него, исходя из того, что большинство сайтов все же на одном языке, да и лучше придерживаться принципа от простого к сложному. Так же не буду ставить ClientSettings и templatesEdit 3 — они чисто для админки, их установка и настройка ничем не отличается от v. 1.4.x и по ним есть темы на этом сайте.
1.5. Ставить буду на локалку Open Server.
2. Системные требования.
— версия php не ниже 7.3 (т.к. интегрирован laravel v.8)
— MySQL не ниже 5.7, но станет и ниже (я для теста поставил на 5.6), но при установке выдаст предупреждение:
— сравнение utf8mb4_general_ci
— для установки пакета потребуется composer, об этом ниже.
— файл подключения базы данных теперь здесь core/config/database/connections/default.php
Вносим свои настройки, а так же обращаем внимание — здесь нас ждут первые отличия от предыдущих версий:
3.2. Появилась отдельная папка Почта и шаблоны, а в ней такая настройка как The envelope sender of the message
Что это и зачем — пока не знаю, может кто пояснит.
3.3. На вкладке Сайт — поля Controller Namespace и Git Hub путь
Об этом остановлюсь ниже.
3.4. На вкладке Интерфейс и представление можно обнаружить, что редактора TinyMCE теперь нет.
3.7. Еще одно отличие — аскетичность: из коробки только несколько плагинов, остальные разделы пустые, все надо ставить самостоятельно. Но Extras работает, проблем нет. А чего нет в Extras, то будет (как обещают разработчики), а пока можно взять и из 1.4.х.
Для работы я установил следующие компоненты, сделал нужные страницы, шаблоны к ним, и TV
Хотя и оно не все потребуется.
3.7. Обратите внимание на шаблоны — теперь у них появилось поле Псевдоним, оно нужно для привязки шаблона EVO к шаблону blade от laravel.
И сами шаблоны, если писать сайт в laravel, пустые. Весь программинг пишется в файлах, о чем пойдет речь ниже. Этот псевдоним и есть тот волшебный мостик, с помощью которого шаблоны blade подключаются к ресурсам дерева Evo, благодаря чему Laravel обрел админку Evo, а Evo обрел Laravel.
Тому, кто будет делать сайт по-старинке инструментами EVO — дальше можно не читать, а делать сайт как и прежде, например, в 1.4.х.
Тому, кто будет делать сайт на Laravel, админку можно закрывать, она нам больше не потребуется, все остальное делается в файлах.
4. Шаблон html
Его теперь нужно загружать не в папку assets/templates, а в папку theme, которую нужно создать в корне сайта.
файлы html пригодятся для шаблонов blade и их после создания сайта можно удалить, а css, js и т.п. — как и прежде, по прямому назначению, их надо будет так же прописывать в шаблонах blade.
5. Blade
Это шаблонизатор, то что ранее было template. Файлы шаблона хранятся в папке views, которую надо так же создать в корне сайта. Выглядит так
5.1. Шаблоны
Название файла шаблона должен иметь вид, например, home.blade.php, где home — это название псевдонима шаблона evo в админке, а остальное — .blade.php — обязательная часть, всегда должна быть в названии шаблона blade.
Кроме шаблонов blade, которые подключены к шаблонам evo, удобно иметь и базовый шаблон с названием base.blade.php, который хранится в папке views/layouts.
Удобно тем, что в нем можно сразу прописать, например:
— общие (сквозные) блоки для всех шаблонов, например шапку, футер, меню, хлебные крошки, и т.п.
— секции, которые могут быть прописаны в других (тематических) шаблонах, в том числе по условию, или со значением по умолчанию
— то, что в нужных шаблонах можно добавить, например, скрипты для формы в шаблоне form.blade.php
Шаблон привязывается к базовому шаблону одной строчкой кода:
@extends('layouts.base')
Другими словами, к ресурсу уже будет подключена некая склейка из шаблона blade и базового шаблона blade.
5.2. Чанки
Поскольку теперь шаблоны хранятся в файлах, то логично, чтобы и чанки тоже хранились в файлах, а не тащить их из базы (админки), хотя и можно.
Чанки хранятся views/partials, при этом их можно для удобства группировать по своим категориям, например, в папке views/partials/form — чанки для FormLister'a
Это все хорошо, но к каждому проекту еще разрабатывается множество всяких плагинов, модулей, сниппетов — где это делать и где хранить? Есть такое место, и называется оно пакетом. Но его надо установить, и делается это с помощью Composer.
6. Composer
6.1. У Open Server есть собственная консоль, находится по адресу Дополнительно -> Консоль.
Если у вас Composer'a еще нет, надо его установить.
6.2. Установка
Переходим в нужную версию php 7.3, команда для перехода в нужную папку
cd modules/php/PHP_7.3/
Для удобства (рекомендации из просторов), выполняем команду
echo @php "%
dp0composer.phar" %*>composer.bat
Она создаст .bat файл и в дальнейшем можно будет работать без указания php composer.phar, просто указывая composer Т.е. команда проверки версии (которая была выше) будет выглядеть так:
composer –V
Это все. Можно переходить к установке пакета.
7. Пакет Main
Пакеты служат для удобства аккумулирования в одном месте сниппетов, плагинов, модулей и чанков для конкретного проекта в одном месте.
Пакет Main — это основной пакет, его установка осуществляется в Composer'е.
После отработки (изменится адресная строка) устанавливаем пакет, для чего выполняем команду
php artisan package:create main
В консоле вы увидите процесс установки.
По окончании можно идти на сайт и смотреть, что и куда установилось.
7.2. Файлы пакета
Они загрузились по адресу core/custom/packages/main
Можно все открыть и посмотреть. Подробнее как это работает можно посмотреть в видео уроке.
Обращу внимание на файл MainServiceProvider.php — это своего рода «управляющий» файл и если будете откуда-то его копировать готовым, то надо проверять и при необходимости переименовывать namespace = mаin. И в функции register при установке по-умолчанию все закомментировано. На сайте у меня использовался только один плагин evoAjax.php, поэтому я раскомментировал в этой функции только плагины.
8. Контроллеры.
В версии 3.х дополнительный пакет с контроллерами устанавливать не надо — он уже вшит в ядро, его нужно только подключить.
8.1. Подключается он в админке сайта в конфигурации — вкладка Сайт поле Controller Namespace.
В это поле надо вписать EvolutionCMS\Main\Controllers\, как и написано ниже этого поля в примере.
Поле Git Hub путь оставляем пустым.
8.2. Размещаются контроллеры по адресу core/custom/packages/main/src/Controllers и так же как в шаблонах может быть базовый контроллер, и контроллеры для отдельных шаблонов.
Так же как и в пакетах, при копировании готовых решений надо обращать внимание и переименовывать в правильный namespace EvolutionCMS\Main\Controllers.
Еще раз обращаю внимание — устанавливать через Composer, как это было в версии 2.х, не надо!
Вот, собственно, и все для начала.
Ждем видео и мануала по версии 3.
Можно дописывать.
Можно поправлять и критиковать.
Можно спрашивать, сам могу и не ответить, но здесь есть более сведущие и опытные.
Читайте также: