Создание компонентов MODX

Вводное занятие

Это занятие открывает новую веху на сайте bezumkin.ru — курсы обучения. Больше нет «программы поддержки автора», нет особых заметок. Есть новый раздел на сайте, где будут публиковаться разные обучающие курсы.

В первом опросе мы определили тему для первого курса — создание компонента MODX. Затем мы решили писать не абы что, а нужный и полезный компонент рассылок по юзерам сайта, который мы потом подарим всем пользователям MODX.

Ну а сегодня я закончил все необходимые приготовления и объявляю о запуске новой программы!

Приблизительный план первого курса:

  1. Настройка рабочего места и IDE PhpStorm

  2. Разбор структуры компонента, зачем нужны assets, core и остальные?

  3. Основы Git и первый коммит заготовки компонента на Github

  4. Продумываем логику работы, определяем схему и модель таблицы в БД

  5. Первые наброски логики, собираем и устанавливаем альфа-версию пакета

  6. Интерфейс админки на ExtJS. Создаём группы рассылок и подписываем на них пользователей.

  7. Интерфейс админки на ExtJS. Создаём рассылку и привязываем её к группе.

  8. Проверяем работу нашего интерфейса, пробуем что-то разослать.

  9. Фронтент. Сниппет вывода доступных подписок пользователю.

  10. Фронтент. Работа с подпиской и отпиской от рассылки.

  11. Тестирование, сборка пакета, окончание работ.

Говорю сразу — список неточный, все может 10 раз поменяться, так как мы пишем новый компонент, а не разбираем существующий. Вы вполне можете что-то изменить в работе, предложить свои идеи или решения.

По времени нас ничто не ограничивает, я закончил все текущие дела и готов уделить курсам целый месяц. Доступ можно оплатить в новом разделе сайта.

Эта заметка вводная, она объявляет о начале работ и мне уже нужна ваша помощь. Пожалуйста, предложите название для нашего компонента, так как простое и лаконичное Subscribe уже занято.

Без хорошего названия начинать никак нельзя!

Читать далее
bezumkin
Василий Наумкин
04.07.2022 23:34
Что-то странное у тебя произошло: миграция есть, и вроде как выполнена, но таблицы при этом отсутств...
inetlover
Александр Наумов
03.07.2022 20:36
Василий, спасибо! Все понятно!
bezumkin
Василий Наумкин
02.07.2022 20:28
Спасибо, поправил!
bezumkin
Василий Наумкин
30.06.2022 03:58
Есть ли возможность формировать "friendly URL aliases", используя аналог translit MODx? ...
bezumkin
Василий Наумкин
27.06.2022 03:32
Спасибо за исправления, очень выручаешь =) Но учитывая количество не описаных в заметке дополнительн...
bezumkin
Василий Наумкин
27.06.2022 03:10
что будет использоваться для вывода многоуровневого меню Посмотри как работают комментарии на этом ...
bezumkin
Василий Наумкин
25.06.2022 11:56
Поправил, спасибо!
bezumkin
Василий Наумкин
21.06.2022 01:58
onLoad(data) { this.total = data.total }, и onLoad({total}) { this.total = total }, В нашем случ...
bezumkin
Василий Наумкин
20.06.2022 14:01
Прекрасно тебя понимаю, я когда сам в этом разбирался - голова дымилась. Но зато теперь прямо-таки п...
bezumkin
Василий Наумкин
20.06.2022 09:30
Не надо, оно по умолчанию так - я просто чуть более подробно написал.