Изменение родителя страницы с помощью API

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

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

Задача

Если вы столкнулись с данной задачей, то ее можно решить двумя способами.

Способ 1

%custom changeParentId()% — изменяет родителя страницы.

Параметры: custom changeParentId($pageId, $newParentId)

$pageId

  Передаем id страницы, у которой нужно изменить родителя.

$newParentId

  Передаем id нового родителя страницы.

Для применения этого макроса скопируйте код макроса в файл /classes/modules/custom.php.

Код макроса

		public function changeParentId($pageId, $newParentId) {
		    $hierarchy = umiHierarchy::getInstance();
		    $page = $hierarchy->getElement($pageId);
		    $page -> setRel($newParentId);
		    $page -> commit();		
		    $hierarchy->rebuildRelationNodes($newParentId); 			
		}

Способ 2

%custom changeParentId()% — изменяет родителя страницы.

Параметры: custom changeParentId($pageId, $newParentId)

$pageId

  Передаем id страницы, у которой нужно изменить родителя.

$newParentId

  Передаем id нового родителя страницы.

Для применения этого макроса скопируйте код макроса в файл /classes/modules/custom.php.

Код макроса

		public function changeParentId($pageId, $newParentId) {
		    $hierarchy = umiHierarchy::getInstance()->moveBefore($pageId, $newParentId); 			
		}