For Programmers: Free Programming Magazines  


Home > Archive > PHP Smarty Templates > October 2006 > Re: [SMARTY] Refactoring templates folder









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 Re: [SMARTY] Refactoring templates folder
Owen Cole

2006-10-30, 7:33 pm

My solution is probably a PITA, but you could include your templates
using a relative path from your template_dir

ie {include file="subdir/templateinsubdir.tpl"}

$smarty->display('subdir/templateinsubdir.tpl');

Eric Mueller wrote:
> Hi, I have so many files in my templates/ folder that I'm trying to break it
> down into sub-folders.
>
> I can set the templates directory by changing the $smarty->template_dir
> variable, but the problem is my templates all {include} common files
> (header.tpl, footer.tpl, that sort of thing).
>
> Sooo... is there a way to set the template_dir in the template itself, so I
> can be sure the common files are loaded from templates/shared, but then the
> main template comes in from a different sub-folder under templates/ ?
>
> thanks,
> Eric
>
> _____
> Eric Mueller - (323) 852-0883 (Pacific time), (323) 417-4900 fax
> Themepark - a specialized web services company
> "great web sites, delicious corn dogs!"
> http://themepark.com
>
> A Cappella Always, the 24x7 all-a cappella radio station!
> broadcasting since 2001 at http://acappellaalways.com
>
>
>

boots

2006-10-30, 7:33 pm

Although unsupported, you can make the templates_dir an array of paths. It is searched in order. So put the common templates (eg: templates/shared) first in the array. Another idea: use a custom resource (eg: shared:foo/bar.tpl) -- it means you have to re
write your templates -- but only once. You can then simply modify your resource to retarget the template locations.

xo boots

Eric Mueller wrote:
> Hi, I have so many files in my templates/ folder that I'm trying to break it
> down into sub-folders.
>
> I can set the templates directory by changing the $smarty->template_dir
> variable, but the problem is my templates all {include} common files
> (header.tpl, footer.tpl, that sort of thing).
>
> Sooo... is there a way to set the template_dir in the template itself, so I
> can be sure the common files are loaded from templates/shared, but then the
> main template comes in from a different sub-folder under templates/ ?
>
> thanks,
> Eric



---------------------------------
How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates.
Sponsored Links







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

Copyright 2008 codecomments.com