protected function _initialize()
 {
     //$this->_kiwi_module = new Kiwi_News_Module($this->mid, $this->name, $this->ngid, $this->newsgroup, $this->size, $this->listmode, $this->pagination, $this->detailpage);
     $this->_kiwi_module = Kiwi_Object_Manager::load('Kiwi_News_Module', array($this->mid, $this->name, $this->ngid, $this->newsgroup, $this->size, $this->listmode, $this->pagination, $this->detailpage));
     // allows caching
     // non-overridable attributes (module attributes have priority)
     $attr_no = array('mid' => 'id', 'name' => 'name', 'ngid' => 'ngid', 'mactive' => 'active');
     foreach ($attr_no as $attr => $mattr) {
         if ($this->_kiwi_module->{$mattr} !== null) {
             $this->{$attr} = $this->_kiwi_module->{$mattr};
         }
     }
     // overridable attributes (tag attributes have priority)
     $attr_o = array('size' => 'size', 'listmode' => 'listmode', 'pagination' => 'pagination', 'detailpage' => 'detailpage');
     foreach ($attr_o as $attr => $mattr) {
         if ($this->{$attr} === null) {
             $this->{$attr} = $this->_kiwi_module->{$mattr};
         }
     }
     // default values of attributes
     $defaults = array('size' => 5, 'pagination' => 'both', 'page' => 1, 'ns' => '', 'images' => '');
     foreach ($defaults as $attr => $val) {
         if ($this->{$attr} === null) {
             $this->{$attr} = $val;
         }
     }
     // default for nsd is value of ns
     if ($this->nsd === null) {
         $this->nsd = $this->ns;
     }
     if ($this->ngid === null && $this->newsgroup === null) {
         throw new Data_Insufficient_Exception('ngid or newsgroup');
     }
     parent::_initialize();
 }
 protected function _initialize()
 {
     //$this->_do = new Kiwi_Slide;
     $this->_do = Kiwi_Object_Manager::load('Kiwi_Slide');
     // allows caching
     parent::_initialize();
 }
 protected function _initialize()
 {
     if ($this->group === null) {
         throw new Data_Insufficient_Exception('group');
     }
     //$this->_kiwi_object = new Kiwi_Banners($this->group);
     $this->_kiwi_object = Kiwi_Object_Manager::load('Kiwi_Banners', array($this->group));
     // allows caching
     parent::_initialize();
 }
 protected function _initialize()
 {
     //$module = new Kiwi_Text_Module($this->mid, $this->name);
     $module = Kiwi_Object_Manager::load('Kiwi_Text_Module', array($this->mid, $this->name));
     // allows caching
     // non-overridable attributes (module attributes have priority)
     $attr_no = array('mid' => 'id', 'name' => 'name', 'mactive' => 'active');
     foreach ($attr_no as $attr => $mattr) {
         if ($module->{$mattr} !== null) {
             $this->{$attr} = $module->{$mattr};
         }
     }
     // overridable attributes (tag attributes have priority)
     $attr_o = array('title' => 'name', 'content' => 'content');
     foreach ($attr_o as $attr => $mattr) {
         if ($this->{$attr} === null) {
             $this->{$attr} = $module->{$mattr};
         }
     }
     parent::_initialize();
 }
 protected function updateTemplate_CatalogProduct($p, array &$produkt_fields, array $p_vzor)
 {
     $vzor_fields = array();
     $vzor_group = new HTML_Group();
     $zaklad_vzory = $this->_index->zaklad_vzory;
     if (empty($zaklad_vzory)) {
         throw new Template_Element_Missing_Exception('zaklad_vzory');
     }
     if (count($zaklad_vzory) !== 1) {
         throw new Template_Invalid_Structure_Exception("The \"zaklad_vzory\" element duplicity");
     }
     $vzor_group->add(clone $zaklad_vzory[0]);
     foreach ($p_vzor as $elem) {
         $vzor_clone = clone $elem;
         $vzor_fields[$vzor_clone->specification] = $vzor_clone;
         $vzor_group->add($vzor_clone);
     }
     $index = new HTML_Indexer($vzor_group, 'eid', false);
     if ($p !== null) {
         //$po = new Kiwi_Product($p->PID);
         $po = Kiwi_Object_Manager::load('Kiwi_Product', array($p->PID));
         // allows caching
         // generování řádků popisujících umístění produktu v katalogu
         $this->updateTemplate_Location($index, $po);
         // generování názvu produktu
         $this->updateTemplate_Title($index, $po);
         // generování kódu produktu
         $this->updateTemplate_Code($index, $po);
         // generování fotografie
         $this->updateTemplate_CatalogPhoto($index, $po);
         // generování odkazu na detail produktu
         $this->updateTemplate_DetailLink($index, $po);
         // generování dalších fotografií
         $this->updateTemplate_AdditionalPhotos($index, $po);
         // generování ilustrativních fotografií
         $this->updateTemplate_IllustrativePhotos($index, $po);
         // generování fotografií produktů z kolekce
         $this->updateTemplate_CollectionPhotos($index, $po);
         // generování příloh
         $this->updateTemplate_Attachments($index, $po);
         // generování odkazu pro objednání
         $this->updateTemplate_OrderLink($index, $po);
         // generování příznaku novinky
         $this->updateTemplate_Novelty($index, $po);
         // generování příznaku akce
         $this->updateTemplate_Action($index, $po);
         // generování příznaku slevy
         $this->updateTemplate_Discount($index, $po);
         // generování ceny (cen)
         $this->updateTemplate_Cost($index, $po);
         // generování popisu
         $this->updateTemplate_Description($index, $po);
         // generování vlastností
         $this->updateTemplate_Properties($index, $po);
     }
     foreach ($vzor_fields as $section => $field) {
         if (array_key_exists($section, $produkt_fields)) {
             $produkt_fields[$section]->add($field);
         }
     }
 }