{include_php}Attribute NameTypeRequiredDefaultDescriptionfilestringYesn/aThe name of the php file to includeoncebooleanNotruewhether or not to include the php file more than
once if included multiple timesassignstringNon/aThe name of the variable that the output of
include_php will be assigned toTechnical Note
{include_php} is pretty much deprecated from Smarty, you can
accomplish the same functionality via a custom template function.
The only reason to use {include_php} is if you really have a need to
quarantine the php function away from the
plugins
directory or your
application code. See the componentized template
example for details.
{include_php} tags are used to include a php script in your template.
If security is enabled,
then the php script must be located in the $trusted_dir path.
The {include_php} tag must have the attribute
"file", which contains the path to the included php file, either
relative to
$trusted_dir,
or an absolute path.
By default, php files are only included once even if called
multiple times in the template. You can specify that it should be
included every time with the once attribute.
Setting once to false will include the php script each time it is
included in the template.
You can optionally pass the assign attribute,
which will specify a template variable name that the output of
{include_php} will be assigned to instead of
displayed.
The smarty object is available as $this within the PHP script that you
include.
function {include_php}load_nav.php
query("select * from site_nav_sections order by name",SQL_ALL);
$this->assign('sections',$sql->record);
?>
]]>
Where index.tpl is:
{$curr_section.name}
{/foreach}
]]>
See also {include},
{php}, {capture}, Template Resources and Componentized
Templates