PHP Classes

File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/api-variables/variable-compile-id.md

Recommend this page to a friend!
  Packages of Michael Beck   Xoops 2.5   htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/api-variables/variable-compile-id.md   Download  
File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/api-variables/variable-compile-id.md
Role: Example script
Content type: text/markdown
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change:
Date: 2 months ago
Size: 1,328 bytes
 

Contents

Class file image Download

\$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 you must use a unique $compile_id to keep the compiled template files separated.

For example a prefilter 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 separated. The $template_dir file > path is encoded in the file name of compiled > and cached template files.