umiLinksHelper

Описание

Класс для генерации ссылок на страницы (umiHierarchyElement).

Собранные данные класс хранит в своих свойствах, можно сбросить кэш как для отдельной страницы, так и для всех.

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

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

Получить адрес отдельной страницы


    $umiHierarchy = umiHierarchy::getInstance();
	$umiLinksHelper = umiLinksHelper::getInstance();
	$page = $umiHierarchy->getElement(123);
	$pageLink = '';
	if ($page instanceof iUmiHierarchyElement) { 
		$pageLink = $umiLinksHelper->getLink($page);
	}
	echo $pageLink;

Сформировать данные для адресов набора страниц


    //есть массив идентификаторов страниц
    $pagesIds = array(1, 2, 3, 4, 5, 6, 7);
	$umiLinksHelper = umiLinksHelper::getInstance();
    //загружаем данные для формирования адресов
	$umiLinksHelper->loadLinkPartForPages($pagesIds);
	$umiHierarchy = umiHierarchy::getInstance();
	$umiLinksHelper = umiLinksHelper::getInstance();
	$page = $umiHierarchy->getElement(1);
	$pageLink = '';
	if ($page instanceof iUmiHierarchyElement) {
        //получаем адрес из загруженных данных
		$pageLink = $umiLinksHelper->getLinkByParts($page);
	}
	echo $pageLink;

Примечание

Данный класс задействован в классе selector, если в нем запросить страницы, то автоматически будут сгенерированы данные для формирования адресов, средствами метода loadLinkPartForPages():

    
    //Запрашиваем страницы
    $pages = new selector('pages');
	$pages->types('hierarchy-type')->name('catalog', 'object');
	$pages = $pages->result();

	$umiLinksHelper = umiLinksHelper::getInstance();
	foreach ($pages as $page) {
		if (!$page instanceof iUmiHierarchyElement) {
			continue;
		}
        //Получаем ссылку
		echo $umiLinksHelper->getLinkByParts($page);
	}
  • getInstance() — Возвращает экземпляр класса umiLinksHelper
  • getLink() — Сформировать ссылку на независимую страницу
  • getLinkByParts() — Сформировать ссылку на страницу, если ранее были загружены ее данные.
  • loadLinkPartForPages() — Загружает данные для генерации адресов страниц
  • isLoadedPage() — Была ли уже загружена информация для генерации адреса страницы
  • unloadPage() — Удалить загруженную информацию о странице
  • clearCache() — Очистить всю собранную информацию