我想根据用户的喜好在页面中使用不同的货币。用户可以将其默认货币设置为英镑,欧元或美元。但是所有的页面已经以英镑的价格写入,即'£'
。在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