Удаление изображения при удалении страницы

Материал из Umicms
Версия от 08:23, 17 июня 2018; Lesnik512 (обсуждение | вклад) (Новая страница: «'''Актуально для версии 18.''' Назначаем обработчик события: <source lang="php"> new umiEventListener('systemDeleteElem…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 18.

Назначаем обработчик события:

new umiEventListener('systemDeleteElement', 'catalog', 'onRemoveItem');

Задаем права доступа к макросу:

$permissions = array('view' => array('onRemoveItem'));

Непосредственно обработчик:

/**Удаление изображений при удалении страницы
 * @param iUmiEventPoint $oEventPoint
 * @return bool
 */
public function onRemoveItem(iUmiEventPoint $oEventPoint) {
    if ($oEventPoint->getMode() === "after") {
        $element = $oEventPoint->getRef("element");
        $photo = @ $element->getValue('photo');
        if ($photo instanceof umiImageFile)
            $photo->delete();
    }
    return true;
}