smarty-php插件功能

时间:2015-07-06 23:28:00

标签: php smarty

我在创建一个智能功能插件时遇到了一些问题。代码如下。

<?php
function smarty_function_selectdate(array $params, Smarty_Template_Instance) {
  //year to start with
  $startdate = 1960;

  //year to end with - this is set to current year. You can change to specific year
  $enddate = date("Y");

  $years = range ($startdate,$enddate);

  //print years
  foreach($years as $year)
  {
    echo "<option value='".$year."'>".$year . "</option>";
  }

}
?>

虽然PHP代码应该工作,当我把它放在我的TPL文件中,如下所示。我得到了这个奇怪的错误

{selectdate}

错误

Parse error: parse error, expecting `'&'' or `"variable (T_VARIABLE)"' in /Users/russellharrower/Sites/ABCcars/plugins/function.selectdate.php on line 2

我想知道如何解决这个问题,因为我不需要发送任何$ params,每当我删除代码的那部分时,它就会更多。

1 个答案:

答案 0 :(得分:0)

而不是 Smarty_Template_Instance 使用 Smarty_Internal_Template $ template

不是回显HTML,而是返回它。

$returnHTML = '';
// Create HTML for years
foreach($years as $year)
{
   $returnHTML .= '<option value="'.$year.'">'.$year . '</option>';
}
return $returnHTML;

您可能希望在运算符中创建整个select语句,以便更轻松地使用它。