For Programmers: Free Programming Magazines  


Home > Archive > PHP Smarty Templates > July 2004 > best way to handle compilation of differing config sections









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author best way to handle compilation of differing config sections
Benjamin Sims

2004-07-08, 4:04 pm

Sorry about the obscure title, but my problem is a little hard to put
succintly.

I have an application which uses a base set of templates, with additional
template directories allowing for different 'views'.

For example

/Smarty/templates/mainDir - contains all the templates
/Smarty/templates/alternative1 - contains only templates for which an
alternative version is required
/Smarty/templates/alternative2 - ditto

This all works fine, with the template_dir setting of Smarty being an array.

The problem comes with loading config files. I have handled this by using a
template called 'loadConfig.tpl', which only in the mainDir contains

{config_load file ="configfile.conf" scope="global"}

This can be overidden by placing a loadConfig.tpl in one of the alternative
directories, containing for example:

{config_load file ="configfile.conf" scope="global" section="alternative1"}

The config file itself contains:

-----------------------------------------------
#global variables - can be overridden by sections if necessary

banner = "main_banner.jpg"
mainTitle = "Welcome to MainApp"


[alternative1]

banner ="alternative_banner.jpg"
mainTitle = "Welcome to Alternative"
------------------------------------------------

The problem comes with the compilation of templates - once a template is
compiled for alternative1 that banner and title displays even if a user
accesses the main application.

So, the question is: should I change the architecture, or is there an easy
way I can tell smarty to compile different sets of templates according to
the config file section/ directory? At the moment I have set
force_compile->true, but I know this is a bad idea.

Thanks for any ideas,
Benjamin Sims
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com