如何将CakePHP视图的扩展名从.ctp更改为.php
我已经看到/cake/libs/view.php var $ext = '.ctp';
中有一行设置了扩展名,但我怎样才能从我的/ app /文件夹中执行此操作,因此它不会影响Cake核心文件。
由于
答案 0 :(得分:10)
您可以使用
在AppController
中设置扩展程序
public $ext = '.yourext';
答案 1 :(得分:1)
这是回复Cameron关于使用多个扩展的问题的评论,因为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; ?>
当流程返回给调用者时,您继续使用本机文件扩展名。
答案 2 :(得分:0)
如何将CakePHP视图的扩展名从.ctp更改为.php
我看到/cake/libs/view.php var $ ext =中有这一行 '.ctp';设置扩展,但我怎么能从我的/ app / 文件夹,因此它不会影响Cake核心文件。
示例:
posts/add.ctp
add.ctp
重命名为add.php
然后您运行.../posts/add
消息错误显示:
错误:找不到PostsController :: add()的视图。
到您的应用可以了解展示.php
,您在$ext = '.php'
PostsController.php
行
现在,你又跑了。.posts/add
=&gt; okie,cakephp了解扩展.php
注意:如果您使用atrribute $ext = '.php'
但文件视图名为.ctp
,则默认情况下将使用cakephp extention .ctp
答案 3 :(得分:0)
我发现这篇文章是因为我遇到了同样的问题。在Github上的Predominant TwigView插件文档中没有提到这一点。我厌倦了那些只解释了一半事情的文件,我们不得不猜测下半部分。这是浪费大量时间,无意义地减慢项目速度。