
Comparing changes: https://github.com/smarty-php/smarty/compare/v4.3.1...v4.4.1 It is noticeable that Smarty 4.3.1 does not officially support PHP 8.3. Is only supported with 4.4.0. Remark: During tests with Smarty 4.5.1, it was noticed that the following warning occurs: Deprecated: Using the unregistered function "function_exists" in a template is deprecated and will be removed in a future version. Use Smarty::registerPlugin to explicitly register a custom modifier. As of Smarty 5.X.X, templates must be revised again. The Smarty release 5.0.2 is already officially available. However, integration into FlatPress is not entirely trivial.
45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
\$compile\_id {#variable.compile.id}
|
|
=============
|
|
|
|
Persistent 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.
|
|
|
|
If you use the same template with different [pre- and/or
|
|
post-filters](#plugins.prefilters.postfilters) you must use a unique
|
|
`$compile_id` to keep the compiled template files separated.
|
|
|
|
For example a [prefilter](#plugins.prefilters.postfilters) that
|
|
localizes your templates (that is: translates language dependent parts)
|
|
at compile time, then you could use the current language as
|
|
`$compile_id` and you will get a set of compiled templates for each
|
|
language you use.
|
|
|
|
|
|
<?php
|
|
$smarty->compile_id = 'en';
|
|
?>
|
|
|
|
|
|
|
|
Another application would be to use the same compile directory across
|
|
multiple domains / multiple virtual hosts.
|
|
|
|
|
|
<?php
|
|
|
|
$smarty->compile_id = $_SERVER['SERVER_NAME'];
|
|
$smarty->compile_dir = '/path/to/shared_compile_dir';
|
|
|
|
?>
|
|
|
|
|
|
|
|
> **Note**
|
|
>
|
|
> In Smarty 3 a `$compile_id` is no longer required to keep templates
|
|
> with same name in different [`$template_dir`
|
|
> folders](#variable.template.dir) separated. The [`$template_dir` file
|
|
> path](#variable.template.dir) is encoded in the file name of compiled
|
|
> and cached template files.
|