Index: trunk/core/kernel/processors/main_processor.php =================================================================== diff -u -r4325 -r4329 --- trunk/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 4325) +++ trunk/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 4329) @@ -501,7 +501,7 @@ $templates_cache =& $this->Application->recallObject('TemplatesCache'); - $res = $BlockParser->Parse( $templates_cache->GetTemplateBody($t), $t ); + $res = $BlockParser->Parse( $templates_cache->GetTemplateBody($t, getArrayValue($params, 'is_silent')), $t ); if ( !$BlockParser->DataExists && (isset($params['data_exists']) || isset($params['block_no_data'])) ) { if ($block_no_data = getArrayValue($params, 'block_no_data')) { @@ -523,11 +523,25 @@ { $ret = ''; $block_params = Array('is_silent' => 1); // don't make fatal errors in case if template is missing + $current_template = $this->Application->GetVar('t'); foreach ($this->Application->ModuleInfo as $module_name => $module_data) { if (!$module_data['Loaded']) continue; $module_key = strtolower($module_name); - $block_params['t'] = $this->SelectParam($params, $module_key.'_template,'.$module_key.'_t,t'); - $block_params['block_no_data'] = $this->SelectParam($params, $module_key.'_block_no_data,block_no_data'); + + if ($module_name == 'In-Portal') { + $module_prefix = ''; + } + else { + $module_prefix = $this->Application->IsAdmin() ? $module_key.'/' : $module_data['TemplatePath'].'/'; + } + + $block_params['t'] = $module_prefix.$this->SelectParam($params, $module_key.'_template,'.$module_key.'_t,template,t'); + if ($block_params['t'] == $current_template) continue; + + $no_data = $this->SelectParam($params, $module_key.'_block_no_data,block_no_data'); + if ($no_data) { + $block_params['block_no_data'] = $module_prefix.'/'.$no_data; + } $ret .= $this->MyInclude($block_params); } return $ret;