1
我正在一些公寓的網站上工作。Smarty替換和陣列
我有一些數據在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]]
替換爲第一套公寓的套數。
有沒有人有任何想法,我應該怎麼做呢?
想到的第一件事是一個自定義插件,'preg_match'內容找到僞變量並用相應的變量值替換它們('$ smarty-> getTemplateVars()') – bububaba 2012-08-03 13:10:30
爲什麼使用foreach?難道你不能將數據作爲數組發送給smarty嗎? – 2012-08-03 13:47:56