In Smarty, there are some reserved variables that can be used directly without the need for PHP scripts to assign them, that is, there is no need to use $_tpl->assign('var','value') to assign them.
1. Access the variables requested by the page in the template
{$smarty.get.user} == $_GET['user']
{$smarty.post.user} == $_POST['user']
{$smarty.cookie.username} == $_COOKIE['username']
{$smarty.session.username} == $_SESSION['username']
{$smarty.server.REMOTE_ADDR} == $_SERVER["REMOTE_ADDR"]
{$smarty.env.PATH} == $_ENV['PATH']
{$smarty.request.username} == $_REQUEST['username']
2. Access the constants and system constants defined in the PHP script in the template file
{$smarty.const.__FILE__} currently executing PHP file
{$smarty.const.CONST_VAR} Access constants defined by define in PHP scripts
3. Get the current server time in the template file
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} == date('Y-m-d H:i:s',time()) in PHP script
4. Access to configuration files in templates
Template variables in the configuration file can be accessed through {$smarty.config.Configuration Variables}. In this case, there are two ways to access the variables in the configuration file in the template: 1. {#Configuration Variables#}; 2. {$smarty.config.Configuration Variables}, if there is a zone, the same is true.
5. Get the data captured by Smarty’s built-in function capture
The function of the capture function is to capture the data output by the template and store it in a variable instead of outputting them to the page. Any data between {capture name="foo"} and {/capture} will be stored in In the variable $foo, the variable is specified by the name attribute. Access this variable through $smarty.capture.foo in the template. If the name attribute is not specified, the function will use "default" as the parameter by default