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

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «'''Актуально для версии 18.''' Назначаем обработчик события: <source lang="php"> new umiEventListener('systemDeleteElem…»)
(нет различий)

Версия 08:23, 17 июня 2018

Актуально для версии 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;
}