2011-01-08 14 views
6

拡張子を設定します/cake/libs/view.php var $ext = '.ctp';でこのラインがあるが、どのようにすることができます私は/ app /フォルダからそれを行うので、Cakeコアファイルには影響しません。あなたはCakePHPのビューチェンジ延長

public $ext = '.yourext'; 

答えて

10

は事実にCakePHPの光に複数の拡張機能を使用することの問題に関してキャメロンさんのコメントへの返信は許可しないで複数の内線番号を指定します。

サイトのさまざまなセクションでmerb、rails2、rails3、cakephpを使用する単一のサイトにMustacheを使用しています。ケーキサイトは一般的なレイアウト要素のためのヒシャーズファイルを「受け取る」が、これらのテンプレートはケーキサイトが認識しないファイル拡張子「.mustache」を持っている。私の回避策は基本的には、あなたの特定の用途に合わせてdhofstetが提案するものだけです。つまり、次のようなラッパーを作成します。

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

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

フローが呼び出し元に返されると、ネイティブファイル拡張子が使用され続けます。

+0

.phpと.ctpの両方を受け入れるような複数の拡張機能はどうでしょうか? – Cameron

+0

複数の拡張子を指定することはできませんが、.phpファイルが見つからない場合は.ctpにフォールバックするように見えます。しかし、これは要素では機能しません(この問題のチケットをオープンしました)。 – dhofstet

1

これがあると、あなたのAppControllerに拡張子を設定することができます

おかげ

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.ctp

    • add.phpに名前を変更して、メッセージ・エラー・ショー .../posts/addを実行します。

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

      からアプリが拡張.phpを理解できるようにするには、をPostsController.php

    • に追加してもう一度実行します。 .posts/add => okie、CakePHPは拡張子.php

    お知らせを理解する:あなたは.ctpという名前atrribute $ext = '.php'が、ファイルビュー、CakePHPの拡張子を使用している場合.ctpは私が持っていたので、私はこの記事を見つけた

  • 0

    デフォルトで使用します同じ問題。これは、GithubのPredominant TwigViewプラグインのドキュメントには記載されていません。私は事の半分だけを説明し、後半を推測しなければならないそれらの文書に疲れています。これは時間を無駄にしてプロジェクトを無駄にする大きな浪費です。