К содержанию

Автоматическое создание ресурсов

Встал вопрос: как при добавлении ресурса в главном контексте он автоматически создавался бы во всех остальных?
Возможно ли это (знаю что возможно все вопрос во времени и средствах)?
Заранее благодарен за советы и мысли!
Юрий Фомин
Юрий Фомин
16 января 2017, 12:21
modx.pro
2 516
Реклама

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

Наумов Алексей
Наумов Алексей Администратор
16 января 2017, 15:59
Да, это возможно.

Вам потребуется написать плагин на событие OnDocFormSave. В целом это не сложная задача. Ищите примеры, связанные с OnDocFormSave и процессором создания ресурса (runProcessor + resource/create), их уже много есть и на этом сайте и на других.

При этом удобно использовать компонент Babel для связи таких ресурсов между собой.
    Юрий Фомин
    Юрий Фомин Проверенный
    16 января 2017, 16:48
    Спасибо за совет.
    С бабелом знаком, но на сколько мне известно он не располагает возможностью автоматического создания переводов.
      Алексей Федоров
      16 января 2017, 17:22
      Если нужен автоперевод, то стоило это указать в тексте вопроса. Есть вот такая штука, обещают автоперевод через яндекс или гугл транслейт с возможностью ручной правки. Насколько работоспособна не знаю, очередь ее теста пока не пришла. Автосоздание документа действительно рассматривалось не раз. Даже примеры соответствующих плагинов были.
        Юрий Фомин
        Юрий Фомин Проверенный
        16 января 2017, 21:06
        Алексей, спасибо за подсказку. Видать когда я писал про бабел думал о переводах, а не о задаче. Нужно именно автосоздание/удаление дублей оригинальных ресурсов в других контекстах.
        Даже примеры соответствующих плагинов были.
        а не припомните где?
        Еще раз спасибо за ответ.
          Алексей Федоров
          16 января 2017, 22:58
          Удивительно, но вот так сразу не нашел)) первое, что показ поиск — помощь при работе с картинками в разных контекстах)), автосоздание артикула. А вообще, нужно создать плагин на событие OnDocFormSave, проверить, что документ:
          1- новый
          2- в нужном контексте.
          После этого собрать массив со значениями нужных полей документа, инициализировать новый контекст и создать в нем новый документ, в параметры которого внесены данные из собранного массива. Возможно, этот пример поможет))
    Юрий Фомин
    Юрий Фомин Проверенный
    04 февраля 2017, 13:56
    полная версия логики и кода тут
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6