Index: branches/5.1.x/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r13750 -r13883 --- branches/5.1.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 13750) +++ branches/5.1.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 13883) @@ -1,6 +1,6 @@ Application->RecallObject('ColumnPickerHelper'); /* @var $picker_helper kColumnPickerHelper */ + $picker_helper->ApplyPicker($this->getPrefixSpecial(), $grid_config, $params['grid']); if ($mode == 'fields') { return "'".join("','", array_keys($grid_config))."'"; } - $std_params['pass_params'] = 'true'; - $std_params['PrefixSpecial'] = $this->getPrefixSpecial(); - $object =& $this->GetList($params); $o = ''; $i = 0; + foreach ($grid_config as $field => $options) { $i++; - $block_params = Array(); - $block_params['name'] = $force_block ? $force_block : (isset($options[$mode.'_block']) ? $options[$mode.'_block'] : $def_block); + $block_params = $this->prepareTagParams($params); + $block_params = array_merge($block_params, $options); + + $block_params['block_name'] = array_key_exists($mode . '_block', $block_params) ? $block_params[$mode . '_block'] : $def_block; + $block_params['name'] = $force_block ? $force_block : $block_params['block_name']; $block_params['field'] = $field; $block_params['sort_field'] = isset($options['sort_field']) ? $options['sort_field'] : $field; $block_params['filter_field'] = isset($options['filter_field']) ? $options['filter_field'] : $field; @@ -292,7 +294,7 @@ } $block_params['is_last'] = ($i == count($grid_config)); - $block_params = array_merge($std_params, $options, $block_params); + $o.= $this->Application->ParseBlock($block_params, 1); } return $o;