首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让cakephp cacheAction与多语言协同工作

如何让cakephp cacheAction与多语言协同工作
EN

Stack Overflow用户
提问于 2019-05-16 23:28:49
回答 1查看 31关注 0票数 0

我正在使用cakephp 2.x

我有一个静态页面(多语言)和cacheAction的网站。

缓存不识别该语言,并以最火的语言缓存页面。

有没有办法解决(禁用缓存的一部分?)谢谢,马西莫

代码语言:javascript
复制
class PagesController extends AppController {

/**
* This controller does not use a model
*
* @var array
*/
public $uses = array();
public $helpers = ['Cache','AbTest.AbTest'];
public $cacheAction = '1 month';
public $components = array('AbTest.AbTest');

……

代码语言:javascript
复制
if ($locale && file_exists(APP . 'View' . $theme_path . DS .     $this->viewPath . DS . $locale .DS. implode('/', $path) . $this->ext )) 
    {       
        array_unshift($path,$locale);
    }

    try {
        $this->render(implode('/', $path));
    } catch (MissingViewException $e) {
        if (Configure::read('debug')) {
            throw $e;
        }
        throw new NotFoundException();
    }

我希望缓存将ita/ pages /who和eng/pages/who显示为不同的页面,而它总是输出ita/pages/who

EN

回答 1

Stack Overflow用户

发布于 2019-05-30 16:12:40

为此,有一个称为Cache.viewPrefix的选项。您没有提到如何管理站点中的语言,但基本的逻辑是,您可以使用语言设置缓存文件前缀,这样您就可以为每种语言创建单独的缓存文件。例如,您可以在您的PagesController或AppController中这样做

Configure::write('Cache.viewPrefix', /* place the language here */);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56171976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档