Удаление адреса доставки

Материал из Umicms
Перейти к:навигация, поиск

В версии umi.cms 2.8.1.3 и ниже отсутствует макрос удаления адреса доставки, но такой функционал можно добавить небольшим кастомным макросом. Добавим в файл classes/modules/emarket/__custom.php , следующий метод:

public function delivery_del() {
	$object_id = (int) getRequest('param0');
			
			if (permissionsCollection::getInstance()->isOwnerOfObject($object_id)) {
				umiObjectsCollection::getInstance()->delObject($object_id);
			}

			$s_redirect_url = getServer('HTTP_REFERER');
			if (strlen($s_redirect_url)) {
				$this->redirect($s_redirect_url);
			} else {
				$this->redirect($this->pre_lang . "/purchase/delivery/address/");
			}
		}

в папке classes/modules/emarket/ создадим файл permissions.custom.php следующего содержания:

<?php
$permissions = array('purchasing' => array('delivery_del'));
?>

В шаблоне tpls/emarket/delivery/default.tpl, в блок 'delivery_address_item' можно добавить ссылку для удаления адреса доставки, ссылку следующего вида:

<a href="/emarket/delivery_del/%id%/">Удалить</a>