我想根據用戶的喜好在頁面中使用不同的貨幣。用戶可以將其默認貨幣設置爲英鎊,歐元或美元。但是所有的頁面已經以英鎊的價格寫入,即'£'
。在Zend中渲染之前修改頁面內容?
我不知道如何處理這個問題。首先,我要通過preDispatch()
或類似的東西來渲染頁面內容,修改它,然後渲染修改後的視圖。我可以在控制器中看到視圖,但只能看到一個對象。另一個問題是我也提供了從控制面板寫入的提議,並且它們不包含在查看對象中。當我是var_dump($view);
的視圖是一個對象,但控制面板的提供顯示在屏幕上就像正常的HTML。
我不想編輯所有創建的頁面。這將是非常費力的。 我也看過Zend_Currency
幫手,但我認爲它在這種情況下無法幫助。 有什麼建議如何解決這個問題?
謝謝大衛。我會明天嘗試這種視圖過濾器,並會寫出結果。我認爲馬修·特蘭的文章將解決這個問題。 – enenen 2012-07-08 11:43:09
太棒了,很高興它有幫助。謝謝,歡呼! ;-) – 2012-07-09 11:24:57
唯一的問題是我無法使過濾器工作。我不知道該把它放在哪裏。嘗試了像庫,視圖/過濾器等不同的地方,但仍然收到500服務器錯誤。例如我嘗試'$ this - > _ helper-> layout-> getLayoutInstance() - > getView() - > addFilterPath(APPLICATION_PATH。'/ views/filters') - > addFilter('Minify');'in' init()和class Minify public function filter($ string) { return $ string。「TEST」; } }'爲過濾器。 – enenen 2012-07-09 12:06:47