Source for file BreadCrumbs.class.php
Documentation is available at BreadCrumbs.class.php
* Содержит класс BreadCrumbs
* @copyright Energine 2006
//require_once('core/modules/share/components/DataSet.class.php');
* Список дополнительных элементов
* Необходим для того чтобы другие компоненты могли добавлять хлебные крошки
public function __construct($name, $module, Document $document, array $params = null) {
parent::__construct($name, $module, $document, $params);
* Поскольку изменение перечня полей невозможно, принудительно выставляем необходимые значения
* @return DataDescription
$result->addFieldDescription($field);
$result->addFieldDescription($field);
$result->addFieldDescription($field);
$result->addFieldDescription($field);
* Переопределенный метод загрузки данных
$parents = $sitemap->getParents($this->document->getID());
foreach ($parents as $id => $current) {
'Name' => $current['Name'],
'Segment' => $current['Segment'],
'Title' => $current['HtmlTitle'],
$docInfo = $sitemap->getDocumentInfo($this->document->getID());
'Name' => $docInfo['Name'],
'Segment' => $sitemap->getURLByID($this->document->getID()),
'Title' => $docInfo['HtmlTitle']
// добавляем информацию о главной странице в начало
$defaultID = $sitemap->getDefault();
if (($this->document->getID() != $defaultID) && (isset ($result[0]) && ($result[0]['Id'] != $defaultID))) {
$docInfo = $sitemap->getDocumentInfo($defaultID);
'Name' => $docInfo['Name'],
'Title' => $docInfo['HtmlTitle']
* Метод добавляющий хлебную крошку
* Если приходят пустые параметры, то эта крошка не выводится, а предыдущая хлебная крошка будет ссылкой
public function addCrumb($smapID = '', $smapName = '', $smapSegment = '') {
'Segment' => $smapSegment
|