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

65 lines
1.8 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
compile_id to each and every function call, you can set this
compile_id and it will be used implicitly thereafter.
</para>
<para>
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
distinct compile_id for each template_dir then smarty can tell the
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-05-27 16:25:02 +00:00
<title>$compile_id</title>
<programlisting role="php">
<![CDATA[
2005-05-27 16:25:02 +00:00
<?php
$smarty->compile_id = $_SERVER['SERVER_NAME'];
$smarty->compile_dir = 'path/to/shared_compile_dir';
?>
]]>
</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
-->