Описание
Класс иерархической модели данных, который предоставляет доступ к определенной странице сайта и содержит методы для получения и изменения ее свойств и атрибутов.
Каждая страница сайта (экземпляр umiHierarchyElement)  имеет набор атрибутов (псевдостатический адрес, активность, видимость в  меню и т.д.), которые определяют ее положение и значимость в структуре  сайта, а так же набор свойств из источника данных определенного типа  (umiObject).  У нескольких страниц сайта может быть указан общий источник данных,  тогда такие страницы называются "виртуальные копии". Эти страницы могут  иметь разные атрибуты, но свойства у них будут общие.
Важно
Класс umiHierarchyElement является членом коллекции umiHierarchy, поэтому получать экземпляр класса необходимо именно у нее, используя метод umiHierarchy::getElement()
Пример 21. Получить необходимые свойства и атрибуты у текущей страницы
<?php
  // получаем id текущей страницы
  $current_page_id = cmsController::getInstance()->getCurrentElementId(); 
  // получаем экземпляр коллекции
  $hierarchy = umiHierarchy::getInstance();
  // получаем umiHierarchyElement, либо false, если страница не существует
  $page = $hierarchy->getElement($current_page_id); 
  if (!$page instanceof umiHierarchyElement) {
    // выбрасываем исключение
    throw new publicException(getLabel('error-page-does-not-exist')); 
  }
  // получаем атрибуты страницы
  // можно запрашивать через соответствующие методы:
  $active = $page->getIsActive();// активность
  $parent_id = $page->getParentId();// id родительской страницы
  // а можно и более удобно, используя геттеры:
  $id = $page->id;// id текущей страницы
  $name = $page->name;// имя текущей страницы
  ...
  // получаем свойства страницы
  $content = $page->getValue('content');
  $title = $page->getValue('title');
  $price = $page->getValue('price');
  // или используя геттеры:
  $h1 = $page->header;
  $description = $page->description;
?>
Пример 22. Установить необходимые свойства и атрибуты у какой-либо страницы
<?php
  $page_id = 1; // заранее полученный идентификатор страницы
  // получаем экземпляр коллекции
  $hierarchy = umiHierarchy::getInstance(); 
  // получаем umiHierarchyElement, либо false, если страница не существует
  $page = $hierarchy->getElement($page_id); 
  if (!$page instanceof umiHierarchyElement) {
    // выбрасываем исключение
    throw new publicException(getLabel('error-page-does-not-exist')); 
  }
  // записываем атрибуты страницы
  // можно через соответствующие методы:
  $page->setName("New page name");// изменяем имя страницы
  $page->setIsActive(true); // изменяем активность
  ...
  // а можно и более удобно, используя сеттеры:
  $page->altName = 'mypage';
  $page->isVisible = true;
  // записываем свойства страницы
  $page->setValue('content', 'Hello world!');
  $page->setValue('price', 456);
  // или используя сеттеры:
  $page->description = 'My page description';
  // чтобы применить совершенные изменения, необходимо вызвать
  $page->commit();
?>


