Source for file MainMenu.class.php

Documentation is available at MainMenu.class.php

  1.  
  2. /**
  3.  * Содержит класс MainMenu
  4.  *
  5.  * @package energine
  6.  * @author dr.Pavka
  7.  * @copyright ColoCall 2006
  8.  * @version $Id: fsource_energine__modulessharecomponentsMainMenu.class.php.html,v 1.1 2007/09/17 14:32:32 pavka Exp $
  9.  */
  10. require_once('core/modules/share/components/DataSet.class.php');
  11.  
  12. /**
  13.  * Класс выводит главное меню(меню первого уровня)
  14.  *
  15.  * @package energine
  16.  * @subpackage share
  17.  * @final
  18.  */
  19. final class MainMenu extends DataSet {
  20.     /**
  21.      * Конструктор класса
  22.      *
  23.      * @return void 
  24.      */
  25.     public function __construct($name$moduleDocument $document,  array $params null{
  26.         parent::__construct($name$module$document,  $params);
  27.         $this->setType(self::COMPONENT_TYPE_LIST);
  28.         $this->addTranslation('TXT_HOME');
  29.     }
  30.     /**
  31.      * Принудительно выставляем необходимый перечень полей
  32.      *
  33.      * @return DataDescription 
  34.      * @access protected
  35.      */
  36.  
  37.     protected function createDataDescription({
  38.         $result new DataDescription();
  39.  
  40.         $field new FieldDescription('Id');
  41.         $field->setType(FieldDescription::FIELD_TYPE_INT);
  42.         $field->addProperty('key'true);
  43.         $result->addFieldDescription($field);
  44.  
  45.         $field new FieldDescription('Name');
  46.         $field->setType(FieldDescription::FIELD_TYPE_STRING);
  47.         $result->addFieldDescription($field);
  48.  
  49.         $field new FieldDescription('Segment');
  50.         $field->setType(FieldDescription::FIELD_TYPE_STRING);
  51.         $result->addFieldDescription($field);
  52.  
  53.         return $result;
  54.     }
  55.     /**
  56.      * Переопределенный метод загрузки данных
  57.      *
  58.      * @return mixed 
  59.      * @access protected
  60.      */
  61.  
  62.     protected function loadData({
  63.         $sitemap Sitemap::getInstance();
  64.         $data $sitemap->getMainLevel();
  65.         if (empty($data)) {
  66.             $this->generateError(SystemException::ERR_WARNING'ERR_NO_DATA');
  67.         }
  68.  
  69.         foreach ($data as $key => $value{
  70.             if($key == $sitemap->getDefault()) {
  71.                 unset($data[$key]);
  72.             }
  73.             else {
  74.                 $data[$key]['Id'$key;
  75.                 $data[$key]['Segment'$value['Segment'];
  76.                 $data[$key]['Name'$value['Name'];
  77.             }
  78.         }
  79.         return $data;
  80.     }
  81. }

Documentation generated on Mon, 17 Sep 2007 13:30:41 +0300 by phpDocumentor 1.4.0a2