我在创建一个智能功能插件时遇到了一些问题。代码如下。
<?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,每当我删除代码的那部分时,它就会更多。
答案 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语句,以便更轻松地使用它。