Index: branches/RC/core/kernel/nparser/nparser.php =================================================================== diff -u -N -r10610 -r10669 --- branches/RC/core/kernel/nparser/nparser.php (.../nparser.php) (revision 10610) +++ branches/RC/core/kernel/nparser/nparser.php (.../nparser.php) (revision 10669) @@ -366,6 +366,13 @@ if (isset($params['cache_timeout']) && ($ret = $this->CacheGet($this->FormCacheKey('element_'.$params['name'])))) { return $ret; } + + if (!array_key_exists($params['name'], $this->Elements) && array_key_exists('default_element', $params)) { + // when given element not found, but default element name given, then render it instead + $params['name'] = $params['default_element']; + unset($params['default_element']); + return $this->ParseBlock($params, $pass_params); + } $original_params = $params; @@ -380,7 +387,7 @@ // from inside-content block, otherwise when parsing the design block DataExists will be reset to false resulting missing design block $this->DataExists = isset($params['keep_data_exists']) && $this->DataExists || (isset($params['design']) && isset($params['block_no_data']) && $params['name'] == $params['design']); - if (!isset($this->Elements[$params['name']])) { + if (!array_key_exists($params['name'], $this->Elements)) { $pre_parsed = $this->Application->TemplatesCache->GetPreParsed($params['name']); if ($pre_parsed) { return $this->IncludeTemplate($params);