Удаление изображения при удалении страницы
Материал из Umicms
Версия от 15:26, 28 июня 2018; Kublan (обсуждение | вклад)
Статья предоставлена партнером 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;
}