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

67 lines
2.1 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
2006-09-27 06:28:21 +00:00
<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>
2006-09-27 06:28:21 +00:00
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
2006-09-27 06:28:21 +00:00
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>
2006-09-27 06:28:21 +00:00
Another application 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
-->