Files
smarty/docs/en/programmers/api-variables/variable-compile-id.xml

66 lines
1.9 KiB
XML
Raw Normal View History

2004-04-13 11:47:32 +00:00
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="variable.compile.id">
<title>$compile_id</title>
<para>
Persistant compile identifier. As an alternative to passing the same
2005-09-13 16:14:31 +00:00
$compile_id to each and every function call, you can set this
$compile_id and it will be used implicitly thereafter.
</para>
<para>
2005-09-13 16:14:31 +00:00
With a $compile_id you can work around the limitation that you cannot
use the same
<link linkend="variable.compile.dir">$compile_dir</link>
for different
<link linkend="variable.template.dir">$template_dirs</link>. If you set a
2005-09-13 16:14:31 +00:00
distinct $compile_id for each
2005-09-13 16:38:56 +00:00
<link linkend="variable.template.dir">$template_dir</link> then Smarty can tell the
2005-09-13 16:14:31 +00:00
compiled templates apart by their $compile_id.
</para>
<para>
If you have for example a
<link linkend="plugins.prefilters.postfilters">prefilter</link>
that localizes your templates
(that is: translates language dependend parts) at compile time, then
2005-05-27 16:25:02 +00:00
you should use the current language as $compile_id and you will get a
set of compiled templates for each language you use.
</para>
<para>
Another example would be to use the same compile directory across
2005-05-27 16:25:02 +00:00
multiple domains / multiple virtual hosts.
</para>
<example>
2005-09-13 16:14:31 +00:00
<title>$compile_id in a virtual host enviroment</title>
<programlisting role="php">
<![CDATA[
2005-05-27 16:25:02 +00:00
<?php
$smarty->compile_id = $_SERVER['SERVER_NAME'];
2005-09-13 16:14:31 +00:00
$smarty->compile_dir = '/path/to/shared_compile_dir';
2005-05-27 16:25:02 +00:00
?>
]]>
</programlisting>
</example>
2004-04-13 11:47:32 +00:00
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->