Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Метод umiMail, Как установить заголовки при помощи getHeaders()?

Автор goodprofyРаздел Custom макросы

Ответов: 7
Просмотров: 3708
Последний ответ 14 Октября 2013, 09:28:13
от goodprofy
Добавление значение в справочник при помощи api?

Автор muldyРаздел Custom макросы

Ответов: 2
Просмотров: 3539
Последний ответ 16 Января 2014, 21:17:52
от muldy
Google map API при помощи transform

Автор 31rusРаздел Шаблоны XSLT

Ответов: 10
Просмотров: 2530
Последний ответ 21 Декабря 2016, 10:01:21
от 31rus
Прошу помощи с usel - необходимо отфильтровать новости по кастомному полю

Автор AksukРаздел Шаблоны XSLT

Ответов: 11
Просмотров: 6559
Последний ответ 05 Марта 2012, 23:01:29
от Aksuk

0 Пользователей и 1 Гость просматривают эту тему.

*

ilyar

После некоторого давления тех поддержка тоже согласилась с доводами. Осталось написать кастом, который будет удалять эти копии

Добавить отключение этого поведения через конфиг они не рассматривают?

*

andrey

  • *
  • 31
  • +6/-0
    • Просмотр профиля
Добавить отключение этого поведения через конфиг они не рассматривают?
Я уже не стал вести диалог дальше

*

ilyar

Я уже не стал вести диалог дальше

Для отключения этого поведения планируется выпустить патч, сейчас он в Черновике проекта UMI.CMS patchs,  если тебе это актуально скажи об этом в Issues.

*

andrey

  • *
  • 31
  • +6/-0
    • Просмотр профиля

Для отключения этого поведения планируется выпустить патч, сейчас он в Черновике проекта UMI.CMS patchs,  если тебе это актуально скажи об этом в Issues.

Актуально ещё как, а всё почему..

Потому что реализация отключения такого функционала был сделана через глубокие дебри...

Итак.
1. вешаемся на событие systemCreateElement, режим after
Вызываем
umiHierarchy::getInstance()->getObjectInstances( $objectId );
и обнаруживаем глобальный облом - копий ещё нету   :(
2. Ладно, создаем скрытое поле для всех страниц, куда в systemCreateElement пишем HierarchyId
3. вешаемся на событие sysytemBeginPageEdit где смотрим в это поле и если там не ноль удаляем все копии. И заносим в поле 0 в любом случае.

Таким образом если пользователь жмет просто сохранить, то он вообще ничего не замечает, если жмет "сохранить и" копии появляются, но как только он заходит либо в копию либо в оригинал - копии удаляются. Действует только при первом редактировании, потом можно юзать вирт.копии

Мой костыль расстраивает меня, если кто знает более элегантный подход - буду рад.