2014-01-06 2 views
6

확장명이 .html 인 Laravel로드보기 템플릿을 사용할 수 있습니까?확장명이 .html 인 laravel보기로드

사용자가 업로드 한 .html 파일이 여러 개있는 기존 앱을 다시 작성하고 있습니다. 이는 각 사용자가 템플릿을 업로드하여 각 지역의 모양과 느낌을 제어 할 수있는 일종의 멀티 테넌트 응용 프로그램입니다.

.html 확장자를 유지하려면 앱을 다시 작성하고 사용자에게 투명하게 변경해야합니다.

답변

-2

블레이드 엔진은 .php.blade.php 파일 만로드합니다.

설명 파일이 HTML이기 때문에보기 파일이 정적 인 것으로 가정합니다. 그렇다면 사용자가보기 파일을 업로드 한 후에 파일 이름을 .php으로 변경하십시오. 어쨌든 처리 할 것이 없으므로 응용 프로그램에 성능에 영향을주지 않아야합니다.

+5

솔루션을 찾은 것 같지만 다른로드 블록 (다른 날)이 있습니다. 해결 방법 : 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 이후부터 더 이상 존재하지 않습니다. –

관련 문제