Part-4

[maxbutton id="14" url="#start" text="Посадка - Быстрый старт!" ]
[maxbutton id="12" url="#section-chanks" text="Список СЕКЦИЙ - ЧАНКОВ" ]
[maxbutton id="14" url="#modxsimple" text="Не полная посадка на MODX завершена!" ]
[maxbutton id="13" url="#zagolovok_h1" text="Выводим Заголовок -h1-" ]
[maxbutton id="12" url="#main_menu" text="Вывод Главного Меню" ]
[maxbutton id="9" url="#posadka-image" text="Выводим Картинку" ]
WEB - STEP - GO

И так, - мы имеем настроенный MODx:
Далее в статье УПОМИНАНИЕ НЕОБХОДИМЫХ КОМПОНЕНТОВ:

Теперь, у нас есть УСТАНОВЛЕННЫЙ Open Srver
Можем продолжать:

Далее:

И теперь установим MODX в папку домена:
C:\OSPanel\domains\web5.my7life.ru
Отлично - MODX Локально установлен!

И так, у нас есть локально установленный MODX на Open Server

[maxbutton id="14" text="Посадка - Быстрый старт!" ]
Копируем файлы сверстанного сайта прямо в корневую папку CMF MODX:


Пока у нас все в куче - но нам советовали не расстраиваться))
Далее: копмонуем папки

node_modules - пусть остаются в корне MODX
Т.е. корень нашего сайта - у нас будет корневым для нашего сервера:


Далее откроем: gulpfile.js


Далее нам нужно изменить пути:

Далее переходим в наш локальный домен:
C:\OSPanel\domains\web5.my7life.ru
Запустим консоль в директории нашего домена:

Надо искать ошибки:

И видим локальную версию:




Т.е. sass - у нас будет компилироваться
[maxbutton id="12" text="Посадка HTML верстки на MODx. Шаблоны и чанки" ]
Приступаем к посадке HTML верстки на MODx. Шаблоны и чанки


Все файлы, которые мы будем интегрировать в MODx - находятся тут:



Начальный шаблон, отвечает у нас
за вывод "Главной страницы"
Какая то проблема:
Рассыпается страница BaseTemplate(1):
Если использовать альтернативный запуск нашего сайта на локальном домене: web5.my7life.ru
Да, похоже что именно так и нужно запускать Админку MODX

То админка, а точнее Стартовый шаблон
BaseTemplate(1) - работает нормально!

В целом это просто <ЗАГЛУШКА>
и она нам не нужна по сути в этом виде, но тут есть полезные
[placeholder]

Далее,
Это все нам не нужно - удалим полностью содержимое Шаблона "Главной страницы" - и начнем уже интегрировать.

А точнее, сохраним у себя в папке

С помощью


Отлично, теперь можем его удалить в Админке MODX:
И идем в наш локальный домен:

Или откроем прямо из Sublime3

Затем вставляем в Стартовый шаблон MODX:

И начинаем интеграцию:
Для начала вставим placeholder установки кодировки:
[[++modx_charset]]


Затем вставим placeholder
[[*pagetitle]] - [[++site_name]]
Вообще вот где находиться наш pagetitle

А [[++site_name]] мы задавали в настройках MODX:
Тут:

И вставляем сразу двойную конструкцию:

Вставили:

Теперь "Описание":
[[*description]]
Находится и задается тут:

Вставляем placeholder в наш Шаблон:

Вставили, ну и хорошо!

Со стилями пока пустые теги напишем

Далее:
У нас новый путь!
Ну во первых у нас не указан тэг "base"
Прошипим его:
<base href="[[!++site_url]]" />
! - восклицательный знак, означает, что мы не кэшируем данный вывод.
++ - два плюса говорят, что мы вводим какое то системное значение или системную переменную.
site_url - это адрес нашего домена web5.my7life.ru

Т.е. - если у нас задан base - то мы в начале наших путей -
слэш - не ставим!
И любой путь - будет расчитываться начиная от base
Теперь уточним путь до стилей:

Отлично! Стили стали доступны в верстке интегрированной в MODX:

И далее, мы также уточняем пути, добавляя:
assets/app/

отлично - появилась favicon:

Затем сделаем Авто-Замену:
Путей до картинок на:
src="assets/app/img/

Сохраним - и посмотрим!
Отлично! Картинки появились!

Далее:

Очень АККУРАТНО с Автозамено href -
Мы случайно переписали все src - До сих пор не ясно как такое могло произойти!
Иной раз лучше делать замену в Полу-Автомате!
Теперь уточняем пути для всех библиотек!

Обратим внимание - что КАК НИ СТРАННО, но Иконки - у нас
ПОДКЛЮЧЕНЫ!


У нас ПРОБЛЕМА ПОДКЛЮЧЕНИЯ common.js

Пока исправим проблему вывода картинок в галерее:
Искать НУЖНО в АДМИНКЕ MODX:


Еще удобно искать ошибки Ctrl + U

Исправили - порядок!
Теперь лечим наши скрипты:

И теперь посмотрим на внешний вид сайта уже на MODX:

Отлично! Можем продолжать посадку нашего сайта на MODX!
Это он новый проект делает)

Не будем отвлекаться)
[maxbutton id="12" text="Список Секций-Чанков" ]

Кроме разбивки СЕКЦИЙ на ЧАНКИ - существует еще ОСНОВНАЯ РАЗБИВКА.
ОСНОВНАЯ РАЗБИВКА - это отделение:
<HEAD> и <FOOTER>
т.е. - шапки и подвала.
Работаем в нашем Шаблоне MODX:

Затем: даем имя вырезанному куску - т.е. чанку:


СОХРАНЯЕМ!
И смотрим - Внешний вид сайта у нас не изменился!
Но Шапка сайта выводится уже при помощи ЧАНКА!

Рекомендуется посмотреть урок про чанки:
Отметим одну особенность:
Весть КОД ЧАНКА [[$head]]
мы можем использовать везде, кроме
но не на всех страницах BODY - будет иметь класс <ishome>
Поэтому внутри чанка [[$head]]
мы зададим - еще и placeholder

Далее возвращаемся в ШАБЛОН:
Давайте зададим параметры чанка:






и заполним его

ПОКА ПРОБЛЕМА!
Параметр isnohome - не ХОЧЕТ ПРИМЕНЯТЬСЯ!!!
Пока пропускаем это недоразумение.
Во всяком случае ЭТО можно обойти - используя несколько ЧАНКОВ в которых будет указано раздельно и ЯВНО:
ishome - Главная
isnohome - Вложенная
Продолжим разбивать нашу главную страницу на ЧАНКИ:
Вырезаем весь <HEADER>




Все отлично!
Продолжаем Резать страницу на ЧАНКИ:

Укажем заменяющий placeholder




ПАРАМЕТРЫ ЧАНКА: (ПОНЯТНО В ЧЕМ ТУТ ДЕЛО)
Главная страница -> [[$head?]]
head (чанк) -> <body class="[[+bodyClass]]">
На выводе получим:

Главная страница -> [[$head? &bodyClass=ishome]]
head (чанк) -> <body class="[[+bodyClass]]">
На выводе получим:

[maxbutton id="14" text="Не полная посадка на MODX завершена!" ]
Посадка HTML верстки шапки на MODx

Поработаем с чанком [head]

Далее работаем над чанком [header]

Настроим всю шапку - что бы она выводилась из MODX Revolution
Открываем чанк [header]

Будем идти по коду чанка - и смотреть что как сделано у нас:
делаем вывод имени сайта:
|
1 2 3 4 5 |
* * [[++site_name]] * * |

Затем нам нужно вывести ТЕЛЕФОН:
Это можно сделать через СИТЕМНЫЕ ПЕРЕМЕННЫЕ

Создадим новый параметр (СИСТЕМНУЮ ПЕРЕМЕННУЮ)


|
1 2 3 4 5 |
* * [[++phone]] * * |

[maxbutton id="12" text="Вывод Главного Меню" ]


Выводить будем через PdoTools - но перед заполнением, нам необходимо заполнить соответствующие ресурсы:
Создадим новый ресурс:


Поэтому "Монтаж"


Создаем:

Создали:


И заменяем его на [ placeholder ]

|
1 2 3 4 5 |
* * [[pdoMenu? &parents=`0` &level=`1`]] * * |

Отлично! Мы вывели Главное МЕНЮ из MODX!

и видим:

И поскольку у нас МЕНЮ - дублируется (для мобильных устройств) - мы также заменим его код на [ placeholder ]
|
1 2 3 4 5 |
* * [[pdoMenu? &parents=`0` &level=`1`]] * * |

[maxbutton id="14" text="Выводим ЗАГОЛОВОК - h1 -" ]

Укажем [ placeholder ]
|
1 2 3 4 5 6 7 |
* * [[*longtitle]] * * |

И зададим расширенный заголовок:

Гут!

Далее будем выводить СПИСОК:

GO в Админку MODX:



Что нам теперь необходимо сделать!
Нужно создать дополнительное поле:

и заполним поля:

А точнее ПАРАМЕТРЫ ВВОДА!!!
НО! прежде чем двигаться дальше, нам необходимо
УСТАНОВИТЬ ПОЛЯ MIGX
GO к инструкции:
Установили MIGX! Можем продолжать.
И нам понадобиться для конфигурации migx-sample:

И кладу сразу сюда:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
* * 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"} ] * * |
Тут наиболее часто используемые ТИПЫ ПОЛЕЙ:

Поэтому копируем TAB-бы:

И вставляем:

Далее копируем код в Table:


и еще настройка:


Сохранили даше Дополнительное поле home-list
И переходим сюда:

добавляем элементы:


И тперь собственно сделаем вывод нашего
СПИСКА ПРЕИМУЩЕСТВ:
Используя:
[ placeholder ]
|
1 2 3 4 5 6 7 8 9 10 |
* * [[getImageList? &tvname=`home-list` &tpl=`@CODE: <li><i class="fa fa-check"></i>[[+title]]</li>` &docid=`1`]] * * |

И видим - наш Список уже выводится из MODX:

[maxbutton id="9" url="#posadka-image" text="Выводим Картинку" ]
Нам нужно создать ДОПОЛНИТЕЛЬНОЕ ПОЛЕ - для нашей картинки:


Далее заполняем:


[ placeholder ]
|
1 2 3 4 5 |
* * [[++site_name]] * * |
|
1 2 3 4 5 |
* * [[pdoField? &field=`image-header`]] * * |

И еще


Особенности вывода картинок MODX:
Если мы выводим изображения [Image] то Автор советует выводить их с помощью Phptumboff
НО!
Если выводимая картинка больше отведенных рамок или она является частью дизайна - (как в нашем случае) - то не обязательно ее выводить, через Phptumboff . Но при этом контент-менеджер, должен понимать, что картинка должна иметь подходящий размер.
А если речь о картинках-фото: (фото товаров например, или иконки для Items - которые могут наполнятся, репититься), то такие ИЗОБРАЖЕНИЯ - всегда выводить через Phptumboff







