How to call php functions inside smarty template directly

we can use {insert} tag for calling php functions inside smarty templates directly to display the output of the php function. it is similar to {include} tag except that {insert} tags are NOT cached when template caching is enabled. They will be executed on every invocation of the template.
Remember all {insert} function names in your application must be prepended with “insert_” to remedy possible function name-space conflicts.so simply if your function is named as insert_getBanner, then call it inside {insert}
tag as
{insert name=”getBanner”}
{* example of fetching a banner with agruments*}
{insert name=”getBanner” lid=#banner_location_id# sid=#site_id#}
Here we call a php function named as insert_getBanner with arguments lid and site_id
so the php function must as like
function insert_getBanner( $lid, $site_id)
{
…..
}
we can use assign and script attributes to assign the output of insert tag to a variable and including a php script.
more details can be found on http://www.smarty.net/manual/en/language.function.insert.php

Notes: Smarty supports {php} and {/php} tags, but it is advised not to use them. Since, you can write native php codes within these tags, there is no meaning of using template engine. However, for extreme cases only, {php} tags are useful.

Comments

Popular posts from this blog

PHP / SQL Security – The Big Picture

PHP / SQL Security – SQL Commands and Non-String Variables

Top 50 Web Hacking Techniques