Files
smarty/docs/en/programmers/api-variables/variable-compile-id.xml
2006-09-27 06:28:21 +00:00

67 lines
2.1 KiB
XML

<?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
<parameter>$compile_id</parameter> to each and every function call, you can set this
<parameter>$compile_id</parameter> and it will be used implicitly thereafter.
</para>
<para>
With a <parameter>$compile_id</parameter> you can work around the limitation
that you cannot use the same
<link linkend="variable.compile.dir"><parameter>$compile_dir</parameter></link>
for different <link linkend="variable.template.dir">
<parameter>$template_dirs</parameter></link>. If you set a distinct
<parameter>$compile_id</parameter> for each
<link linkend="variable.template.dir"><parameter>$template_dir</parameter>
</link> then Smarty can tell the compiled templates apart by their
<parameter>$compile_id</parameter>.
</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
you could use the current language as <parameter>$compile_id</parameter> and
you will get a set of compiled templates for each language you use.
</para>
<para>
Another application would be to use the same compile directory across
multiple domains / multiple virtual hosts.
</para>
<example>
<title>$compile_id in a virtual host enviroment</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->compile_id = $_SERVER['SERVER_NAME'];
$smarty->compile_dir = '/path/to/shared_compile_dir';
?>
]]>
</programlisting>
</example>
</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
-->