2016-04-02 12 views
1

Ich versuche, eine Website mit einer Template-Methode zu entwickeln Ich habe verschiedene Dateien erstellt und möchte eine Abfrage ausführen, und diese Abfrage wäre auf allen Vorlagen verfügbar, ist es möglich, das zu tun? Wie ich Ihnen ein Beispiel geben möchte, was ich hier in der Steuerung mache ich eine Variable wie dieseVorlage im Codezeichner

erstellt haben jetzt
$data['navigation'] = 'templates/main_menu'; 
$this->load->view('main'); 

Okay, so hier, was ich in der Ansicht von Haupt tat, ist I der Header und es Fußzeile und rief die Navigationsdatei dynamisch wie diese

$this->load->view($navigation); 

okay, so jetzt Was ich versuche, ist zu tun möchte eine Icons in der Datenbank und andere Einstellungen als auch gespeichert bekommen, damit ich eine Abfrage in der Header-Datei platziert

<?php $settings = $this->db->get_where('settings', array('id' => 2));\\ This query is just placed above the doctype in the header file and I would like to be called every where ?> 

templates/main_menu.php 
$settings->row()->header_bg_color 

Aber ich erhalte einen Fehler als Nachricht: Undefinierte Variable: Einstellungen und wenn ich diese Einstellungen Abfrage in der Datei mainmenu.php platzieren funktioniert es so, wie sollte die Art und Weise ich meine, es macht keinen Sinn, die Abfrage erneut aufzurufen und wieder wenn ich würde, was wird der beste Weg zu tun, und was ist die Verwendung von Modell wäre es für die Abfragen verwendet, wenn es dann ist, wenn ich diese Einstellungen Abfrage innerhalb des Modells platzieren, wie würde ich darauf zugreifen, ist es möglich raten mir

Danke

+0

Ihre Header-Datei Daten können nicht zu anderen Ansicht verarbeitet werden, Codezeichner ist mvc Struktur müssen Sie die Daten als Argument übergeben, um von Ansicht, z. $ this-> load-> view ('$ navigation', $ data); Kommen Sie zu Ihrem Punkt, was Sie hier tun können, erstellen Sie eine gemeinsame Funktion Datei schreiben Sie Ihre Abfrage dort und fügen Sie es in den Controller und dann diese Daten an Ihre Ansichten übergeben. – JiteshNK

+0

Kannst du es bitte innerhalb des asnwer einen Beispielcode einreichen, da ich neu bin mit Codeigniter und was, wenn ich innerhalb eines Modells erstelle, sollte es in den Ansichten aufgerufen werden können? –

+0

Ich hoffe, du hast deine Antwort. – JiteshNK

Antwort

0

hallo unten Code des Controllers ist. Ich habe die Datei common_library.php erstellt, in der ich alle gängigen Funktionen geschrieben habe, die ich alle Ansichten verwenden möchte.

+0

Es ist besser, HMVC zu verwenden, wenn ein Controller mit Controller geladen werden muss. – user4419336

+0

@ wolfgang1983 Wenn Sie auf diese Zeile zeigen, include ('application/controllers/common/common_library.php'); dann nur eine Klarstellung das ist eine nur übliche Funktionsdatei, kein Controller. Es ist nur Orte im Controller-Ordner, da ich diese Datei nur für Controller verwenden werde. – JiteshNK

Verwandte Themen