我正在为一些公寓工作。
我在foreach循环中将一些数据分配给Smarty。
$i = 0;
foreach ($obj2 as $array) {
$smarty->assign('name'.$i, $obj2[$i]['name']);
$smarty->assign('numbedrooms'.$i, $obj2[$i]['number_of_bedrooms']);
$smarty->assign('numbathrooms'.$i, $obj2[$i]['number_of_bathrooms']);
$smarty->assign('sqfeet'.$i, $obj2[$i]['square_feet']);
$smarty->assign('deposit'.$i, $obj2[$i]['deposit']);
$smarty->assign('rent'.$i, $obj2[$i]['rent']);
$smarty->assign('vacantunits'.$i, $obj2[$i]['vacant_units']);
$i++;
}
加载模板时($smarty->display('template.tpl');
)我希望所有数据都可以通过replace
获得(例如replace:'[[lowestrate]]':{$lowestrate}
(来自另一个代码块的示例))。
但是,由于$obj2
中的项目数量可能会发生变化(目前为3),我不能只说replace:'[[name1]]':{$name1}
。 (更不用说需要多长时间)
此外,需要替换的原因是页面内容是使用WYSIWYG编辑器从CMS系统管理的,编辑器可以在其中键入[[lowestrate]]
以将其替换为成本最低的公寓。他们应该能够键入[[name1]]
以将其替换为第一套公寓的名称,或者[[numberbedrooms1]]
替换为公寓1所拥有的卧室数量。
有没有人知道我应该怎么做呢?
答案 0 :(得分:0)
这听起来像你应该在PHP级别做的工作,而不是智能级别。我建议你在分配给smarty之前做替换,然后发送转换后的数组,它会更容易(并且更清洁imho)