2014-01-06 47 views
6

拡張子が.htmlのLaravelロードビューテンプレートを使用することはできますか?拡張子.htmlのlaravelビューを読み込む

ユーザーがアップロードした多数の.htmlファイルを持つ既存のアプリケーションを再構築しています。これは、各ユーザがテンプレートをアップロードすることによって、自分のエリアのルック&フィールを制御できるマルチテナントアプリケーションの一種です。

私はアプリを再構築し、変更をユーザーに完全に反映させる必要があります。そのため、.html拡張子を維持したいと考えています。

答えて

-2

ブレードエンジンには、.php.blade.phpというファイルのみが読み込まれます。

あなたの説明から、ビューファイルはHTMLのみであるため、静的であると仮定します。 もしそうなら、ユーザがビューファイルをアップロードした後にそれらの名前を.phpに変更します。何も処理するものがないので、アプリケーションにパフォーマンスの影響を与えるべきではありません。

+5

私は解決策を見つけたと思いますが、もう1つのロードブロッキングに行きました(これは別の日です)。 解決策はView :: addExtension( 'html'、 'php') です。これにより、laravelはhtmlファイルを読み込んでphpで実行します。 – Mcg1978

+0

@ Mcg1978 'View :: addExtension( 'html'、 'php')はどこに追加すればいいですか –

6

私が見つけた最良の方法は、ベースコントローラでView :: addExtensionを使うことです。

は、ここに私のコードサンプルです:

ビュー:: addExtension( 'blade.html'、 'ブレード');

class BaseController extends Controller { 

    /** 
    * Setup the layout used by the controller. 
    * 
    * @return void 
    */ 
    protected function setupLayout() 
    { 

     // Allows us to use easy-to-edit html extension files. 
     // You can set 2nd param to 'php' is you want to 
     // just process with php (no blade tags) 
     View::addExtension('blade.html','blade'); 


     if (! is_null($this->layout)) 
     { 
      $this->layout = View::make($this->layout); 
     } 
    } 
} 
+0

' BaseController'はlaravel 5.0以降のものではありません –

関連する問題