Изменение родителя страницы с помощью API — различия между версиями
Материал из Umicms
| Alexei (обсуждение | вклад)  (Новая страница: «'''Актуально для версии 2.9.5'''  == Задача == Если вы столкнулись с данной задачей, то ее можно ре…») | Alexei (обсуждение | вклад)  | ||
| Строка 20: | Строка 20: | ||
| <source lang="php"> | <source lang="php"> | ||
| 		public function changeParentId($pageId, $newParentId) { | 		public function changeParentId($pageId, $newParentId) { | ||
| − | + | 		    $hierarchy = umiHierarchy::getInstance(); | |
| − | + | 		    $page = $hierarchy->getElement($pageId); | |
| − | + | 		    $page -> setRel($newParentId); | |
| − | + | 		    $page -> commit();		 | |
| − | + | 		    $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); 			
		}
