<?php
/**
* СодеÑÐ¶Ð¸Ñ ÐºÐ»Ð°ÑÑ MainMenu
*
* @package energine
* @author dr.Pavka
* @copyright ColoCall 2006
* @version $Id: MainMenu.class.php,v 1.8 2007/12/17 14:16:14 pavka Exp $
*/
//require_once('core/modules/share/components/DataSet.class.php');
/**
* ÐлаÑÑ Ð²ÑÐ²Ð¾Ð´Ð¸Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ðµ менÑ(Ð¼ÐµÐ½Ñ Ð¿ÐµÑвого ÑÑовнÑ)
*
* @package energine
* @subpackage share
* @final
*/
final class MainMenu extends DataSet {
/**
* ÐонÑÑÑÑкÑÐ¾Ñ ÐºÐ»Ð°ÑÑа
*
* @return void
*/
public function __construct($name, $module, Document $document, array $params = null) {
parent::__construct($name, $module, $document, $params);
$this->setType(self::COMPONENT_TYPE_LIST);
$this->addTranslation('TXT_HOME');
}
/**
* ÐÑинÑдиÑелÑно вÑÑÑавлÑем необÑ
одимÑй пеÑеÑÐµÐ½Ñ Ð¿Ð¾Ð»ÐµÐ¹
*
* @return DataDescription
* @access protected
*/
protected function createDataDescription() {
$result = new DataDescription();
$field = new FieldDescription('Id');
$field->setType(FieldDescription::FIELD_TYPE_INT);
$field->addProperty('key', true);
$result->addFieldDescription($field);
$field = new FieldDescription('Name');
$field->setType(FieldDescription::FIELD_TYPE_STRING);
$result->addFieldDescription($field);
$field = new FieldDescription('Segment');
$field->setType(FieldDescription::FIELD_TYPE_STRING);
$result->addFieldDescription($field);
return $result;
}
/**
* ÐеÑеопÑеделеннÑй меÑод загÑÑзки даннÑÑ
*
* @return mixed
* @access protected
*/
protected function loadData() {
$sitemap = Sitemap::getInstance();
$data = $sitemap->getMainLevel();
if (empty($data)) {
$this->generateError(SystemException::ERR_WARNING, 'ERR_NO_DATA');
}
foreach ($data as $key => $value) {
if($key == $sitemap->getDefault()) {
unset($data[$key]);
}
else {
$data[$key]['Id'] = $key;
$data[$key]['Segment'] = $value['Segment'];
$data[$key]['Name'] = $value['Name'];
}
}
return $data;
}
}