我正在为一些公寓设计一个网站。
我有一些数据在 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}
. (更不用说需要多长时间了)
此外,需要替换的原因是页面内容是从带有所见即所得编辑器的 CMS 系统管理的,编辑器可以在其中键入[[lowestrate]]
以将其替换为成本最低的公寓。他们应该能够键入[[name1]]
以将其替换为第一间公寓的名称,或[[numberbedrooms1]]
将其替换为公寓 1 的卧室数量。
有人知道我应该如何去做吗?