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

По мотивам этой заметки.
Очень полезный урок, создала болванку под компонент с первого раза. В админке все хорошо работает.
И теперь непонятно с чего начать изменение компонента под себя? Единственное, что я пока нашла и смогла сделать — изменила языковые файлы.
1) Приведу пример на реальной задаче: нужно ввести вторую таблицу бд и сделать связь один-ко-многим первой таблицы со второй. Также нужно чтобы при редактировании Предмета на форме был бы выпадающий список, содержащий значения второй таблицы.
Например: таблица сотрудники, таблица отделы. Каждый сотрудник работает в определенном отделе и нужно предоставить контент-менеджеру возможность через админку задать привязку.

2) Существует ли описание структуры файлов компонента modx.
Сейчас там все не совсем интуитивно для меня. Например, первый, пришедший на ум вопрос, который поставил меня в тупик Чтобы ввести вторую таблицу нужно ли переписать xml-schema файл и заново сгенирировать классы модели или достаточно будет нужные php файлы поправить ручками.
3) Есть ли какое то описание каким образом взаимодействуют файлы php с объектами ExtJS. Попыталась начать с ExtJS api, но без знания базовых основ далеко не продвинулась. В modx мануале тоже ничего толкового не нашла.

Имела до опыт работы с компонентами migx и migxdb, там создавала интерфейс для работы с бд из админки и сниппет для вывода на сайт, но хочется продвинуться в этом плане и писать компоненты самой.
Не все вопросы этой простыни нуждаются в ответе, и если вы кинетесь в меня хотя бы полезной ссылкой, то буду крайне признательна.
Яна Сивцева
24 декабря 2012, 09:57
modx.pro
3 340
0

Комментарии: 7

Василий Наумкин
24 декабря 2012, 15:10
0
Моя статья на Хабре про создание компонента — habrahabr.ru/post/126635/.
Официальная документация — rtfm.modx.com/display/revolution20/Custom+Manager+Pages

Но самый действенный способ, конечно, прокачивать знания разбираясь в том, как устроены чужие разработки. Иначе вы научитесь только тому, что вам рассказали в уроках.
    Яна Сивцева
    24 декабря 2012, 15:46
    0
    Мне тут скинули ссылку на ваш miniShop — буду препарировать, смотреть как все устроено. По итогу оформлю все в заметку для начинающих.

      Максим
      17 марта 2015, 13:25
      0
      Возникла похожая ситуация: сделал компонент, описал в нем таблицу, элементы создаются-удаляются, одно поле в этой модели — id записи из другой таблицы, ее добавил в modx при помощи CMP генератора. Подскажите, пожалуйста направление, как это можно реализовать. В официальной документации не нашел, как можно передать данные из другой модели, чтобы вывести во всплывающем окне создания элемента window.js выпадающий список, а при рендеринге таблицы вместо id подставить поле name из второй таблицы.
      Yulia Udacheva
      28 декабря 2012, 00:54
      0
      А у меня не получилось запустить chmod +x ./rename_it.sh под виндоус. Нигде нет установочного пакета от него? Doodles есть, с ним все понятно, но хотелось бы понять как переименовывать компанент, чтобы таблицы назывались уже по другому.
        Мордынский Николай
        28 декабря 2012, 16:03
        0
        А как вы шел скрипт под виндой пытались запустить ?)
          Yulia Udacheva
          28 декабря 2012, 23:17
          0
          Через cmd скачать удалось, а запустить нет
            Василий Наумкин
            28 декабря 2012, 23:24
            0
            Юля, не мучайтесь — на Windows это работать не будет. Ну или будет, но через одно место и после многих танцев с бубном.

            Если нет желания покупать GNU/Linux тестовую площадку в интернетах, ознакомьтесь хотя бы с виртуальной машиной.

            Учитывая, что 99% сайтов MODX работают на Linux — эти знания себя ещё окупят!
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            7