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

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «'''Актуально для версии 2.9.5''' == Задача == Если вы столкнулись с данной задачей, то ее можно ре…»)
 
Строка 20: Строка 20:
 
<source lang="php">
 
<source lang="php">
 
public function changeParentId($pageId, $newParentId) {
 
public function changeParentId($pageId, $newParentId) {
$hierarchy = umiHierarchy::getInstance();
+
    $hierarchy = umiHierarchy::getInstance();
$page = $hierarchy->getElement($pageId);
+
    $page = $hierarchy->getElement($pageId);
$page -> setRel($newParentId);
+
    $page -> setRel($newParentId);
$page -> commit();
+
    $page -> commit();
$hierarchy->rebuildRelationNodes($newParentId);
+
    $hierarchy->rebuildRelationNodes($newParentId);
 
}
 
}
 
</source>
 
</source>
  
 
== Способ 2 ==
 
== Способ 2 ==
 +
 +
%custom changeParentId()% — изменяет родителя страницы.
 +
 +
'''Параметры: custom changeParentId($pageId, $newParentId)'''
 +
 +
'''$pageId'''
 +
  Передаем id страницы, у которой нужно изменить родителя.
 +
'''$newParentId'''
 +
  Передаем id нового родителя страницы.
 +
 +
Для применения этого макроса скопируйте код макроса в файл /classes/modules/custom.php.
 +
 +
== Код макроса ==
 +
 +
<source lang="php">
 +
public function changeParentId($pageId, $newParentId) {
 +
    $hierarchy = umiHierarchy::getInstance()->moveBefore($pageId, $newParentId);
 +
}
 +
</source>
  
  
  
 
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:API]]
 
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:API]]

Версия 13:46, 28 февраля 2014

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