Узкие места в разработке своих компонентов
Первое знакомство с Revo у меня было год назад (примерно), около месяца я ломал свой мозг о это чудо (да-да, ибо такой наплыв информации — xPDO/PDO, ExtJS, RevoAPI, etc, сильно корежит когнитивную карту мира), под предлогом работы и учебы я вяло «стёк» с рельсов Revo-локомотива.
На данный момент появилось достаточно свободного времени для дальнейшего «вкручивания помидоров» своему сознанию. Перелопатил много постов, нарисовал проект памятника Васе в тетрадке (такой труд… никакой иронии прошу заметить) и его блогу. Но, хоть в целом картина разработки компонентов ясна, остаются «узкие места», ответы на которые можно получить (кажется мне) методом «тыка» и задаванием вопросов без оглядки на их глупость, к чему я и подвожу читателя в этом эпично занудливом (уже) сабжике)
Как создавать свои компонеты?
В абсолютной тишине громогласно вопияет риторический вопрос мне — «А где был твой мозг, когда ты лопатил посты по теме?!» — «Рисовал памятник же *заливается краской*»…
Разобью вопрос:
1) Как выглядит архитектура компонента?
2) Как работает компонет, то есть клик на кнопку «добавить запись» на странице компонета в админке что происходит при отсылке POST запроса с mgr/action=действие, как оно (действие) обрабатывается?
3) Формирование json-массивов данных для extJS при возврате ответа (формировании грида скажем), где происходит и как?
4) Взаимодействие ExtJS с php кодом компонета, то же интересует.
5) *Моя совесть не позволяет плодить вопросы более*
На данный момент появилось достаточно свободного времени для дальнейшего «вкручивания помидоров» своему сознанию. Перелопатил много постов, нарисовал проект памятника Васе в тетрадке (такой труд… никакой иронии прошу заметить) и его блогу. Но, хоть в целом картина разработки компонентов ясна, остаются «узкие места», ответы на которые можно получить (кажется мне) методом «тыка» и задаванием вопросов без оглядки на их глупость, к чему я и подвожу читателя в этом эпично занудливом (уже) сабжике)
Как создавать свои компонеты?
В абсолютной тишине громогласно вопияет риторический вопрос мне — «А где был твой мозг, когда ты лопатил посты по теме?!» — «Рисовал памятник же *заливается краской*»…
Разобью вопрос:
1) Как выглядит архитектура компонента?
2) Как работает компонет, то есть клик на кнопку «добавить запись» на странице компонета в админке что происходит при отсылке POST запроса с mgr/action=действие, как оно (действие) обрабатывается?
3) Формирование json-массивов данных для extJS при возврате ответа (формировании грида скажем), где происходит и как?
4) Взаимодействие ExtJS с php кодом компонета, то же интересует.
5) *Моя совесть не позволяет плодить вопросы более*
Комментарии: 19
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2. Скачать modExtra
3. Настроить PhpStorm на удобную работу с Рево (требуется подписка)
4. Учиться, учиться и еще раз учиться.
Многое должно проясниться. Без IDE разбираться, как работают компоненты Рево могут только очень крепкие мозгом люди.
А данная заметка в настоящее время актуальна?
bezumkin.ru/training/course1/
Вот перевод вроде бы с рабочими корректировками создания собственного приложения на базе doodles.
modx.ws/razrabotka-dopolneniya-v-modx-revolution
modx.ws/razrabotka-dopolneniya-modx-revolution-2
Я 2 месяца назад пытался разобраться в этом деле по мануалу на modx.com — не получилось там во 2 части мануал для 2,2 версии и есть отличия в итоге если по мануалу делать не выходит каменный цветок.
Эти 2 ссылки кажись с корректировками на свежую версию.
До этого даже как то трудно было понять структуру и описание класса и как она работала и все эти схемы и тд, щаз уже проще ) очень плоха документация на этот счет или очень быстро устаревает или я вернее просто попал на изменения с 2.0 и 2.2
иуПросто, не смотря на блог Васи, информации плана Best practice, рабочих решений (не исследований и hello world скудных примеров, etc) мало, и она «размазана» по сети)
Данный блог конечно «тащит».
1) Создаешь таблицу(ы)
2) Все остальное делает компонент
3) Можно прописывать relation связи в xml (если нужно) и, присовокупив _builder, собрать пакет. (?)
Это вроде правильнее, чем запускать gen.php из этого поста на хабре, больше соответствует идеологии modx'а.
То есть к «errorName» прибавится «doodles.doodle_», на выходе — «doodles.doodle_errorName», что соответствует $_lang['doodles.doodle_errorName'].
Не знал)
Спасибо за ссылки и советы, все пригодилось и помогло!