Smarty 图标

根据 商标声明,欢迎使用 Smarty 徽标。

Smarty Template Engine Smarty Template Engine

如有赞助、广告、新闻或其他询问,请联系

使用 Smarty 的网站

广告

组件化模板

传统上,在应用程序中编程模板的步骤如下:首先,在 PHP 应用程序中积累变量(也许通过数据库查询)。然后,实例化 Smarty 对象、assign() 变量并 display() 模板。所以让我们举个例子,假设我们的模板上有一个股票行情。我们将在应用程序中收集股票数据,然后在模板中分配这些变量并显示。现在,如果您只需通过包含模板就能将此股票行情添加到任何应用程序中,并且不必在前面获取数据,那不是很好吗?

可以通过编写一个自定义插件来获取内容并将其分配给模板变量来实现此目的。

示例 21.7。组件化模板

function.load_ticker.php - 放置文件到 $plugins 目录

<?php

// setup our function for fetching stock data
function fetch_ticker($symbol)
{
   // put logic here that fetches $ticker_info
   // from some ticker resource
   return $ticker_info;
}

function smarty_function_load_ticker($params, $smarty)
{
   // call the function
   $ticker_info = fetch_ticker($params['symbol']);

   // assign template variable
   $smarty->assign($params['assign'], $ticker_info);
}
?>

    

index.tpl

{load_ticker symbol='SMARTY' assign='ticker'}

Stock Name: {$ticker.name} Stock Price: {$ticker.price}

    

另请参阅 {include_php}{include}{php}

赞助商 [信息]