Zend Framework和切换视图脚本路径

时间:2009-09-30 04:52:11

标签: zend-framework view translate

我有问题。基本上,根据用户是否访问我们网站上的/ es或/ br或/ cn等,我们有不同的语言模板文件。到目前为止,我们使用自定义模板引擎来完成这项工作,但正在切换到ZF。如果语言varuable是cn,我似乎无法弄清楚如何让ZF在cn / about-us中查找视图脚本。

我不能(不想)使用Zend_Translate,因为我们有太多翻译的模板文件,并且使用Zend_Translate对于多段中文/韩文/日文的多个不同文件是不可行的,遗忘我不会说那些语言。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

您可以编写控制器插件并使用它的routeStartup()方法来更改Zend_View设置(视图脚本所在的路径),并在路由开始之前更改请求uri。

class My_Controller_Plugin_LanguageSwitcher extends Zend_Controller_Plugin_Abstract
{
    public function routeStartup(Zend_Controller_Request_Abstract $request)
    {
        // examine the $_SERVER['REQUEST_URI'] and look for your language identifier
        // fetch the View and set appropriate view scripts path using setScriptPath() method
        // strip the language identifier from your REQUEST_URI
        // change the request uri using $request->setRequestUri('your-new-uri-without-the-language-  identifier');
    }
}