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

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «'''Актуально для версии 18.''' Назначаем обработчик события: <source lang="php"> new umiEventListener('systemDeleteElem…»)
 
 
Строка 1: Строка 1:
 +
'''Статья предоставлена партнером UMI.CMS [https://www.umi-cms.ru/find_webdevs/shiriev_artur_venerovich/ Шириевым Артуром]'''
 +
 
'''Актуально для версии 18.'''
 
'''Актуально для версии 18.'''
  

Текущая версия на 15:26, 28 июня 2018

Статья предоставлена партнером UMI.CMS Шириевым Артуром

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