2016-04-30 3 views
1

für Paginierung laden habe ich auf die Dokumentation Codeigniter gewesen ist, und ich möchte für Paginierung eine externe Konfigurationsdatei haben, so habe ich die folgenden:Wie in Codeigniter externen Konfigurationsdatei

Ich habe meine $config Array in config/pagination.php und dann auf jedem Controller muss ich die Konfigurationsdatei für die Paginierung verwenden, die ich verwenden werde:

$this->load->library('pagination'); 
$config['base_url'] = $base_url; 
$config['total_rows'] = $total_rows; 
$config['per_page'] = $per_page; 
$pag_links = $this->pagination->create_links(); 

ich dachte, das war alles. Das Problem ist, dass es nicht funktioniert. Ich suchte diese auf der Website und fand diese beiden Fragen bereits beantwortet:

$this->pagination->initialize($config); 

Aber Codeigniter Dokumentation sagt: How to change data in custom loaded config array und autoload config for pagination in codeigniter not working

Sie beide die folgende Zeile Code vorgeschlagen

Rahmen Einstellungen in einer Konfigurationsdatei

Wenn Sie keine Präferenzen mit der oben genannten Methode festlegen möchten, können Sie legte sie stattdessen in eine Konfigurationsdatei. Erstellen Sie einfach eine neue Datei namens pagination.php, fügen Sie das Array $ config in dieser Datei hinzu. Speichern Sie dann die Datei in application/config/pagination.php und es wird automatisch verwendet. Sie müssen $ this-> pagination-> initialize() NICHT verwenden, wenn Sie Ihre Einstellungen in einer Konfigurationsdatei speichern.

Nun, Der wichtigste Teil ist Sie NICHT $ this- verwenden müssen> pagination-> initialisieren(), wenn Sie Ihre Einstellungen in einer Konfigurationsdatei speichern.

Natürlich, wenn ich diese Codezeile in meinen eigenen Code einfügen, funktioniert es.

$this->load->library('pagination'); 
$config['base_url'] = $base_url; 
$config['total_rows'] = $total_rows; 
$config['per_page'] = $per_page; 
$pagination->initialize($config); 
$pag_links = $this->pagination->create_links(); 

Fehle ich etwas wichtiges hier? Was ist der richtige Weg, um eine externe Konfigurationsdatei für Codeigniters Paginierung zu erstellen?

Antwort

1

Ihre Config-Array sollte bei Anwendung gespeichert werden/config/pagination.php Sie dann nicht brauchen, um hinzuzufügen:

$this->load->library('pagination'); 
$config['base_url'] = $base_url; 
$config['total_rows'] = $total_rows; 
$config['per_page'] = $per_page; 

in der nur die Bibliothek aufrufen Controller

$this->load->library('pagination'); 

als die config, die Sie erstellt haben, haben diese in ... nur, was ich denke, wenn Sie die Variablen $ total_rows, etc in der Konfigurationsdatei automatisch geladen werden, da diese nicht auf etwas in einem exte verweisen würde rnal Datei ... Sie müssten die Werte direkt angeben, zB:

$config['total_rows'] = 200; 

jedoch, wenn diese Werte in der Steuerung festgelegt werden müssen, würden Sie so, wie Sie gesagt haben, verwenden müssen und verwenden Sie die

$pagination->initialize($config); 

in der Steuerung.