2014-01-06 7 views
6

Ist es möglich, dass Laravel Ansichten mit der Erweiterung .html lädt?Laden einer Laravel-Ansicht mit der Erweiterung .html

Ich baue eine bestehende App um, die eine Reihe von HTML-Dateien enthält, die von Benutzern hochgeladen werden. Es handelt sich um eine Art Multi-Tenant-Anwendung, bei der jeder Benutzer das Erscheinungsbild seines Gebiets durch Hochladen von Vorlagen steuern kann.

Ich muss die App neu erstellen und die Änderung für die Benutzer vollständig transparent machen, also möchte ich die .html-Erweiterungen behalten.

Antwort

-2

Ich fürchte, Blade-Engine lädt nur .php und .blade.php Dateien.

Aus Ihrer Beschreibung gehe ich davon aus, dass die Ansichtsdateien statisch sind, da sie nur HTML sind. Wenn dies der Fall ist, benennen Sie sie in um, nachdem der Benutzer Dateien hochgeladen hat. Dies sollte keine Auswirkungen auf die Leistung Ihrer Anwendung haben, da sowieso nichts zu verarbeiten ist.

+5

Ich denke, ich habe eine Lösung gefunden, aber ich habe einen anderen Roadblock (das ist für einen anderen Tag). Die Lösung ist View :: addExtension ('html', 'php') Das wird Laravel laden HTML-Dateien und führen sie über PHP. – Mcg1978

+0

@ Mcg1978 wo muss ich 'View :: addExtension ('html', 'php') hinzufügen' –

6

Der beste Weg, den ich gefunden habe, ist View :: addExtension in Ihrem Basis-Controller zu verwenden;

Hier ist mein Codebeispiel:

Ansicht :: addExtension ('blade.html', 'Blade');

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' ist ab laravel 5.0 nicht mehr vorhanden –

Verwandte Themen