diff options
author | 2011-05-23 06:53:31 +0200 | |
---|---|---|
committer | 2011-05-23 06:53:31 +0200 | |
commit | a11432db93dbfdb0dbc78e1dd384663439799559 (patch) | |
tree | 374acc61a5be95bda099b355cc80582348d151bd /src/SemanticScuttle/Service/Template.php | |
parent | 97bba97049eeed2ecec022caa641b50ca507cb72 (diff) | |
download | scuttle-a11432db93dbfdb0dbc78e1dd384663439799559.tar.gz scuttle-a11432db93dbfdb0dbc78e1dd384663439799559.zip |
first try to implement theming support, which currently does not work at all
Diffstat (limited to 'src/SemanticScuttle/Service/Template.php')
-rw-r--r-- | src/SemanticScuttle/Service/Template.php | 23 |
1 files changed, 21 insertions, 2 deletions
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; } } |