From a11432db93dbfdb0dbc78e1dd384663439799559 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Mon, 23 May 2011 06:53:31 +0200 Subject: first try to implement theming support, which currently does not work at all --- src/SemanticScuttle/Service/Template.php | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/SemanticScuttle/Service/Template.php') diff --git a/src/SemanticScuttle/Service/Template.php b/src/SemanticScuttle/Service/Template.php index efa8d28..df96344 100644 --- a/src/SemanticScuttle/Service/Template.php +++ b/src/SemanticScuttle/Service/Template.php @@ -38,6 +38,14 @@ class SemanticScuttle_Service_Template extends SemanticScuttle_Service */ protected $basedir; + /** + * The template theme to use. + * Set in constructor from $GLOBALS['theme'] + * + * @var string + */ + protected $theme; + /** @@ -64,6 +72,8 @@ class SemanticScuttle_Service_Template extends SemanticScuttle_Service protected function __construct() { $this->basedir = $GLOBALS['TEMPLATES_DIR']; + $this->theme = $GLOBALS['theme']; + //FIXME: verify the theme exists } @@ -77,16 +87,25 @@ class SemanticScuttle_Service_Template extends SemanticScuttle_Service * * @return SemanticScuttle_Model_Template Template object */ - function loadTemplate($template, $vars = null) + public function loadTemplate($template, $vars = null) { if (substr($template, -4) != '.php') { $template .= '.php'; } + + $oldIncPath = get_include_path(); + set_include_path( + $this->basedir . $this->theme + . PATH_SEPARATOR . $this->basedir . 'default' + ); + $tpl = new SemanticScuttle_Model_Template( - $this->basedir .'/'. $template, $vars, $this + $template, $vars, $this ); $tpl->parse(); + set_include_path($oldIncPath); + return $tpl; } } -- cgit v1.2.3-54-g00ecf