Описание

Основной класс иерархической модели данных. Является коллекцией и предоставляет доступ к страницам сайта любого типа, а также содержит методы для изменения структуры сайта, которые позволяют создавать, удалять, копировать и перемещать страницы.

Класс самостоятельно работает с кэшем, а также следит за правами текущего пользователя на любые действия, позволяя разработчику, при необходимости, обрабатывать генерируемые исключения.

Класс является синглтоном, для получения экземпляра класса необходимо использовать статический метод getInstance().

Примеры использования

Пример 19. Получить экземпляр страницы с заранее известным идентификатором

<?php
       ...
       $page_id = 1;
       $hierarchy = umiHierarchy::getInstance(); 
       // получаем экземпляр коллекции
       $page = $hierarchy->getElement($page_id); 
       // получаем umiHierarchyElement, либо false, если страница не существует
       if (!$page instanceof umiHierarchyElement) {
               throw new publicException(getLabel('error-page-does-not-exist')); 
               // выбрасываем исключение
       }
       // TODO
       ...
?>

Пример 20. Получить список прямых потомков (на один уровень глубины) по отношению к текущей странице

<?php
       $current_page_id = cmsController::getInstance()->getCurrentElementId(); 
       // получаем id текущей страницы
       $hierarchy = umiHierarchy::getInstance(); 
       // получаем экземпляр коллекции
       $childs = $hierarchy->getChildrenTree($current_page_id); 
       // получаем список дочерних страниц, включая не активные и не видимые в меню.
       foreach ($childs as $child_id) {
               // TODO
               ....
       }
?>
  • isExists()
  • isLoaded()
  • getElement()
  • delElement()
  • copyElement()
  • cloneElement()
  • getDeletedList()
  • restoreElement()
  • removeDeletedElement()
  • removeDeletedAll()
  • getParent()
  • getAllParents()
  • getChildrenTree()
  • getChildrenCount()
  • forceAbsolutePath()
  • getPathById()
  • getIdByPath()
  • addElement()
  • getDefaultElementId()
  • convertAltName()
  • moveBefore()
  • moveFirst()
  • isAllowed()
  • getDominantTypeId()
  • addUpdatedElementId()
  • getUpdatedElements()
  • __destruct()
  • getCollectedElements()
  • unloadElement()
  • getElementsLastUpdateTime()
  • getObjectInstances()
  • getDominantTplId()
  • getLastUpdatedElements()
  • checkIsVirtual()
  • getInstance()
  • getChildrenList()
  • loadElements()
  • getOriginalPage()