0
我目前有一個觀點,我想分成許多不同的格式,每個格式都有不同的ctp。我正在尋找提供專門爲特定設備格式化的頁面,每種PC,Kindle,iPhone等都有一個模板。CakePHP:提供替代視圖格式?
是否有像這樣的視圖之間切換的規範方式?每個URL都應該有所不同,以便我可以將Kindle版本加入書籤,並在個人電腦上查看(如果需要)。
我目前有一個觀點,我想分成許多不同的格式,每個格式都有不同的ctp。我正在尋找提供專門爲特定設備格式化的頁面,每種PC,Kindle,iPhone等都有一個模板。CakePHP:提供替代視圖格式?
是否有像這樣的視圖之間切換的規範方式?每個URL都應該有所不同,以便我可以將Kindle版本加入書籤,並在個人電腦上查看(如果需要)。
下面是我在項目中使用的一些示例代碼,用於根據當前語言自動呈現替代視圖文件。這允許您將視圖保存爲/views/[controller]/[lang]/[action].ctp
。如果存在這樣的專用文件,它將被渲染而不是標準視圖。這應該很容易適應您的需求。
class AppController extends Controller {
public function render($action = null, $layout = null, $file = null) {
$lang = Configure::read('Config.language');
$ext = $this->ext;
$act = $action;
if (!$act) {
$act = $this->action;
}
$i18nFile = new File(VIEWS . $this->viewPath . DS . $lang . DS . $act . $ext);
if (!$file && $i18nFile->exists()) {
$file = $i18nFile->path;
}
return parent::render($action, $layout, $file);
}
}