- improvment better error message for undefined templates at {include}

This commit is contained in:
uwe.tews@googlemail.com
2011-09-24 18:20:13 +00:00
parent 5c0d7ad8b4
commit a98d83bbf3
4 changed files with 36 additions and 20 deletions

View File

@@ -3,6 +3,7 @@
- removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application
- optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable
- added compile_dir and cache_dir to list of muted directories
- improvment better error message for undefined templates at {include}
23.09.2011
- remove unused properties

View File

@@ -93,7 +93,12 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
throw new SmartyException("PHP templates are disabled");
}
if (!$source->exists) {
throw new SmartyException("Unable to load template \"{$source->type} : {$source->name}\"");
if ($_template->parent instanceof Smarty_Internal_Template) {
$parent_resource = " in '{$_template->parent->template_resource}'";
} else {
$parent_resource = '';
}
throw new SmartyException("Unable to load template {$source->type} '{$source->name}'{$parent_resource}");
}
// prepare variables

View File

@@ -137,7 +137,12 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
public function mustCompile()
{
if (!$this->source->exists) {
throw new SmartyException("Unable to load template {$this->source->type} '{$this->source->name}'");
if ($this->parent instanceof Smarty_Internal_Template) {
$parent_resource = " in '$this->parent->template_resource}'";
} else {
$parent_resource = '';
}
throw new SmartyException("Unable to load template {$this->source->type} '{$this->source->name}'{$parent_resource}");
}
if ($this->mustCompile === null) {
$this->mustCompile = (!$this->source->uncompiled && ($this->smarty->force_compile || $this->source->recompiled || $this->compiled->timestamp === false ||

View File

@@ -116,7 +116,12 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
// checks if template exists
if (!$_template->source->exists) {
throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'");
if ($_template->parent instanceof Smarty_Internal_Template) {
$parent_resource = " in '{$_template->parent->template_resource}'";
} else {
$parent_resource = '';
}
throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}");
}
// read from cache or render
if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || !$_template->cached->valid) {