2016-06-29 1 views
0

Ich habe versucht, eine Website Builder, wo ich HTML-Struktur der Plugins/Portlets manuell speichern möchten, wo Benutzer die Struktur und was auch immer editierbare Daten haben kann Sie werden eingefügt, wird in der Datenbank mit Serialisierung in der Steuerung gespeichert, jetzt kam ich zu wissen, MySQL hält keine HTML-Daten oder sagen, es ist unsicher zu speichern, beschloss ich, die Grundstruktur in JSON-Format in eine separate Datei, Jetzt zu speichern Ich möchte diese JSON-Dateien nicht in meinem Öffentlichen Ordner-Ziel haben. Ich habe die Seeder-Dokumentation und das Tutorial durchgelesen, um den Pfad des file zu finden und die JSON-Daten zu erhalten. Auch ging dieser durch tutorialwie HTML-Codes in MySQL oder JSON in Laravel mit Seeder

und kam über folgende Klasse:

<?php 

use Illuminate\Database\Seeder; 
use App\User; 

class PortletTableSeeder extends Seeder { 

    public function run() 
    { 
     $json = File::get("database/data/portlets.json"); 
     $data = json_decode($json); 
     foreach ($data as $obj) { 
      'id' => $obj->id, 
      'html_code' => $obj->html_code, 
      'dummy_data' => $obj->dummy_data, 
      //more objects.. 
     )); 
     } 
    } 

} 

?> 

Ist es der richtige Weg, dies auszuführen? und in Blade-Datei zum Beispiel ich habe mixstyles mit Namen, wenn id des Themas/Portlet in gulpfile Aufruf kann ich wie dieses:

<link href="css/{{$id}}.css" rel="stylesheet" type="text/css" /> 

Antwort

1

ich beste Art und Weise denken, dies zu tun ist, HTML-Code in Frontend verwalten (mit Klinge). Holen Sie sich den Datensatz von DB & erstellen Sie dynamische Seiten im Frontend.

Sie können separate Blade-Dateien & dynamisch laden.

public function create() 
{ 
    $data = Portlet::get(); 

    if(condition) 
     return view('design.form1',compact('data')); 
    else 
     return view('design.form2',compact('data')); 
} 

Wenn Sie JSON-Daten in MySQL-DB folgen Sie bitte dem Link halten wollen.

How to Use JSON Data Fields in MySQL Databases