logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: HTML_Template_Xipe: msg#00563

Subject: Re: HTML_Template_Xipe
Tommy Ipsen wrote:
Hi

I have a problem nesting templates when using HTML_Template_Xipe...

This is the short version of what I have:

index.php:
   $options = array(
'templateDir' => 'templates', // root-directory for storing templates 'compileDir' => 'tmp', // directory for compiled templates
      //'debug'        => 1,                            // debug level
//'filterLevel' => 9, // :TODO: filters nothing - only during debug-face! 'forceCompile' => true, // :TODO: forces a recompilation of templates - only during debug-face! //'logLevel' => 0, // :TODO: logs everything - only during debug-face! //'enable-Cache' => true, // enable caching of templates - remember administrative possibility to recompile! //'locale' => '', // no translation of templates - therefore locale is not required! //'verbose' => true, // :TODO: should be false on a production system!
      'autoBraces'    => false
   );
// stuff...
$tpl = new HTML_Template_Xipe($options);
$tpl->compile('index.tpl');
include($tpl->getCompiledTemplate());

index.tpl:
<html>
    <body>
        // stuff...
        {%include content.tpl%}
    </body>
</html>


This works fine, meaning content.tpl is also parsed as a template by Xipe. But I would really like to do something like:

        {%include $contentfile%}

Where $contentfile contains a filename depending on a parameter given by the user. The above code however is only possible like this:

         {include 'templates/filename.tpl';}

Which results in the template not being parsed by xipe and the $variables in filename.tpl appearing "as written" ie. not substituted with the value of the variable!

Therefore my question is how to include (and parse) a file/template when the name of the file/template is stored in a variable!

i understand your problem. and in the way of using a variable there like this:
        {%include $contentfile%}
it is not possible with Xipe (yet)
but i would suggest that you do another thing, may be its just a work around, but it worked fine (at least for me)

use a standard php-include like this:
        {include $contentfile}
this will be parsed by the template engine and replaced by
        <?php include $contentfile ?>
which means that $contentfile is a valid file name of a php-file (not a template!). So that you have a little bit of extra work which is compiling the template in the $contentfile. i.e. if $contentfile is 'htdocs/contentFile.php' then you simply compile the template inside of this file and you have the same effect.

hth

--
Wolfram

http://opensource.visionp.de

... authentication system ....
 http://sf.net/projects/auth


--
PEAR General Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>