/**
  * get hiweb_tpl property in template context
  *
  * @param  string $property_name property name
  *
  * @return \Smurty_Config_Source|\Smurty_Template_Compiled
  * @throws SmurtyException if $property_name is not valid
  */
 public function __get($property_name)
 {
     switch ($property_name) {
         case 'source':
             if (empty($this->config_resource)) {
                 throw new SmurtyException("Unable to parse resource name \"{$this->config_resource}\"");
             }
             $this->source = Smurty_Resource::config($this);
             return $this->source;
         case 'compiled':
             $this->compiled = $this->source->getCompiled($this);
             return $this->compiled;
     }
     throw new SmurtyException("config attribute '{$property_name}' does not exist.");
 }