2011-01-08 57 views
6

如何更改擴展名從.ctp CakePHP的視圖來.PHPCakePHP的查看更改擴展

我已經看到有這條線在/cake/libs/view.php var $ext = '.ctp';那臺分機卻怎麼也我從我的/ app /文件夾中執行,因此它不會影響Cake核心文件。

感謝

回答

10

您可以在您的AppController擴展與

public $ext = '.yourext'; 
+0

多個擴展如接受.php和.ctp怎麼可能? – Cameron 2011-01-08 21:38:22

1

這是回覆到卡梅隆的關於使用多個擴展的事實CakePHP的光不允許的問題評論你可以指定多個擴展。

我對單個站點使用Mustache,該站點對站點的不同部分使用merb,rails2,rails3和cakephp。蛋糕網站「接收」常見佈局元素的鬍鬚文件,但這些模板有一個'.mustache'文件擴展名,我的蛋糕網站不會識別。我的解決方法基本上是dhofstet建議在您的特定用例的背景下構建的。總之,創建一個包裝,可能是這個樣子:

<? 
    $tmp = $this->ext; 
    $this->ext = '.mustache'; 
?> 
<?= $m->render($this->renderElement('moznav/advanced_header'), array('foo' => $bar)) ?><br /> 

<? $this->ext = $tmp; ?> 

當流返回給調用者,你繼續使用原生文件擴展名。

0

How can I change the extension for CakePHP Views from .ctp to .php

I have seen there is this line in /cake/libs/view.php var $ext = '.ctp'; that sets the extension but how can I do it from my /app/ folder so it doesn't effect Cake core files.

例如:

  • 你有看法posts/add.ctp
  • 現在重新命名add.ctpadd.php
  • 然後運行.../posts/add消息錯誤顯示:

    Error: The view for PostsController::add() was not found.

    到您的應用程序可以瞭解延伸.php,您添加線公衆$ext = '.php'PostsController.php

  • 現在,您再次運行。 .posts/add => okie,CakePHP的理解extention .php

注意:如果你使用一個名爲.ctp atrribute $ext = '.php'但文件視圖,CakePHP的extention .ctp將默認使用

0

我發現這個職位,因爲我有同樣的問題。這在Github的主要TwigView插件文檔中沒有提及。我厭倦了那些只解釋了一半事情的文件,我們不得不猜測下半場。這是浪費大量時間,毫無意義地減慢項目速度。