/** * Public function that creates a single instance */ public static function getInstance() { if (!isset(self::$_instance)) { self::$_instance = new self(); } return self::$_instance; }
/** * Handle drawing item sizes list * * @param array $tag_params * @param array $chilren */ public function tag_SizeList($tag_params, $children) { $manager = ShopItemSizesManager::getInstance(); $conditions = array(); $selected = isset($tag_params['selected']) ? fix_id($tag_params['selected']) : -1; // get items $items = $manager->getItems($manager->getFieldNames(), $conditions); // create template $template = $this->_parent->loadTemplate($tag_params, 'size_list_item.xml'); $template->setMappedModule($this->name); // parse template if (count($items) > 0) { foreach ($items as $item) { $params = array('id' => $item->id, 'name' => $item->name, 'selected' => $selected, 'item_delete' => url_MakeHyperlink($this->_parent->getLanguageConstant('delete'), window_Open('shop_item_size_delete', 400, $this->_parent->getLanguageConstant('title_size_delete'), false, false, url_Make('transfer_control', 'backend_module', array('module', $this->name), array('backend_action', 'sizes'), array('sub_action', 'delete'), array('id', $item->id)))), 'item_values' => url_MakeHyperlink($this->_parent->getLanguageConstant('values'), window_Open('shop_item_size_values', 400, $this->_parent->getLanguageConstant('title_size_values'), true, true, url_Make('transfer_control', 'backend_module', array('module', $this->name), array('backend_action', 'sizes'), array('sub_action', 'values_show'), array('definition', $item->id))))); $template->restoreXML(); $template->setLocalParams($params); $template->parse(); } } }