我正在使用Cakephp 2.x
我有一个包含静态页面(多语言)和cacheAction的网站。
缓存无法识别语言,并以最火辣的语言缓存页面。...
有什么办法解决(禁用缓存的一部分?) 谢谢, 马西莫
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');
....
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
答案 0 :(得分:0)
对此有一个名为Cache.viewPrefix
的选项。您没有提到如何管理站点中的语言,但是基本逻辑是可以使用该语言设置缓存文件前缀,这样,每种语言都将拥有单独的缓存文件。例如,您可以在您的PagesController或AppController中完成此操作,例如
Configure::write('Cache.viewPrefix', /* place the language here */);