getObject($params); $url_params = Array ( $this->Prefix . '_event' => 'OnFollowLink', 'pass' => 'm,' . $this->Prefix, '__NO_REWRITE__' => 1, ); return $this->Application->HREF('index', '', $url_params); } /** * Checks, that link should be opened in new window * * @param Array $params * @return bool * @access protected */ protected function LinkInNewWindow($params) { /** @var kDBItem $object */ $object = $this->getObject($params); if ( $object->GetDBField('LinkType') == 1 ) { // Internal return false; } return $object->GetDBField('OpenInNewWindow'); } /** * Get value from corresponding PromoGroupBlocks record * * @param Array $params * @return bool * @access protected */ protected function GetGroupSetting(Array $params) { static $group_data = null; if ( !isset($group_data) ) { if ( isset($params['group_id']) && $params['group_id'] ) { $group_id = $params['group_id']; } else { /** @var CategoriesItem $page */ $page = $this->Application->recallObject('st'); $group_id = $page->GetDBField('PromoBlockGroupId'); } $sql = 'SELECT * FROM ' . TABLE_PREFIX . 'PromoBlockGroups WHERE PromoBlockGroupId = ' . (int)$group_id; $group_data = $this->Conn->GetRow($sql); } $setting_name = $params['name']; return isset($group_data[$setting_name]) ? $group_data[$setting_name] : ''; } /** * Image Field * * @param array $params Tag params. * * @return string */ protected function ImageField(array $params) { $field = $this->SelectParam($params, 'name,field'); if ( !$field ) { $field = 'Image'; } /** @var kMultiLanguage $multi_language_formatter */ $multi_language_formatter = $this->Application->recallObject('kMultiLanguage'); $current_language_field = $multi_language_formatter->LangFieldname($field); /** @var kDBItem $object */ $object = $this->getObject($params); if ( !$object->GetDBField($current_language_field) ) { $current_language_field = $multi_language_formatter->LangFieldname($field, true); } $params['name'] = $current_language_field; return $this->Field($params); } }