Home > Archive > PHP Smarty Templates > September 2006 > RE: [SMARTY] Same template filename in multiple directories in path
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] Same template filename in multiple directories in path
|
|
| Saliga Gábor 2006-09-22, 4:22 am |
| | -----Original Message-----
| From: Mark Rogers [mailto:mark@quarella.co.uk]
| Sent: Friday, September 22, 2006 11:33 AM
| To: smarty-general@lists.php.net
| Subject: [SMARTY] Same template filename in multiple=20
| directories in path
|=20
|=20
| I'm sure I should know the answer to this, but I can't find it:
|=20
| I have multiple directories in my template path, which will
| vary on multiple calls to my script, but there's always a=20
| default template directory. All of them contain a file=20
| "index.tpl", so depending on the template path for any given=20
| call to my script I will be targetting a different index.tpl.
|=20
| It seems [*] that they all compile to the same file in
| templates_c, so I generally get the last compiled version of=20
| the wrong template.
|=20
| How do I fix this?
|=20
| [*] I'm debugging this remotely and that's the conclusion
| I've reached; the site is currently using v2.6.3. If an=20
| upgrade will fix it or this just shouldn't be happening=20
| anyway I'll look for other problems in my code.
|=20
| --
| Mark Rogers
| More Solutions Ltd
Hello,
It think you should set a different templates_c directory for each =
template
directory.
I mean:
$smarty->compile_dir =3D 'different in every case';
Regards,=20
G=E1bor Saliga
| |
| Owen Cole 2006-09-22, 7:03 pm |
| If you are not using caching you simply need to set a $compile_id that
is based upon the current template directory that you are using.
http://smarty.php.net/manual/en/variable.compile.id.php
If you are using caching and could possibly have multiple sets of data
displayed from the same template (under the same $compile_id), then you
would add in a custom $cache_id.
This will allow for multiple caches of the same template, but with
different versions.
http://smarty.php.net/manual/en/cac...iple.caches.php
Good luck!
Owen
Saliga Gábor wrote:
> | -----Original Message-----
> | From: Mark Rogers [mailto:mark@quarella.co.uk]
> | Sent: Friday, September 22, 2006 11:33 AM
> | To: smarty-general@lists.php.net
> | Subject: [SMARTY] Same template filename in multiple
> | directories in path
> |
> |
> | I'm sure I should know the answer to this, but I can't find it:
> |
> | I have multiple directories in my template path, which will
> | vary on multiple calls to my script, but there's always a
> | default template directory. All of them contain a file
> | "index.tpl", so depending on the template path for any given
> | call to my script I will be targetting a different index.tpl.
> |
> | It seems [*] that they all compile to the same file in
> | templates_c, so I generally get the last compiled version of
> | the wrong template.
> |
> | How do I fix this?
> |
> | [*] I'm debugging this remotely and that's the conclusion
> | I've reached; the site is currently using v2.6.3. If an
> | upgrade will fix it or this just shouldn't be happening
> | anyway I'll look for other problems in my code.
> |
> | --
> | Mark Rogers
> | More Solutions Ltd
>
> Hello,
>
> It think you should set a different templates_c directory for each template
> directory.
>
> I mean:
> $smarty->compile_dir = 'different in every case';
>
> Regards,
> Gábor Saliga
>
>
| |
| messju mohr 2006-09-22, 7:03 pm |
| On Fri, Sep 22, 2006 at 10:03:13AM -0400, Owen Cole wrote:
> If you are not using caching you simply need to set a $compile_id that
> is based upon the current template directory that you are using.
> http://smarty.php.net/manual/en/variable.compile.id.php
>
> If you are using caching and could possibly have multiple sets of data
> displayed from the same template (under the same $compile_id), then you
> would add in a custom $cache_id.
not really. you can work around the problem by using a distinct
$compile_id regardless of caching. (it works transparently with caching enabled).
nevertheless I'd prefer to use different compile_dirs for different
template_dirs. or just use one template_dir and use
display('subdir1/index.tpl') and display('subdir2/index.tpl') which
are then distinct inside *one* compile_die.
greetings
messju
> This will allow for multiple caches of the same template, but with
> different versions.
>
> http://smarty.php.net/manual/en/cac...iple.caches.php
>
> Good luck!
>
> Owen
>
>
> Saliga Gábor wrote:
>
> --
> Smarty General Mailing List (http://smarty.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
|
|
|
|
|