2010-04-13 17 views
77

Ziemlich oft muss ich auf $config Variablen in Sichten zugreifen. Ich weiß, ich kann sie vom Controller zu load->view() übergeben. Aber es scheint übertrieben, es explizit zu tun.

Gibt es einen Weg oder einen Trick, $config Variable von CI Ansichten ohne störende Controller mit Ersatzcode zugreifen?

Antwort

164

$this->config->item() gut funktioniert.

Zum Beispiel, wenn die Konfigurationsdatei enthält $config['foo'] = 'bar'; dann $this->config->item('foo') == 'bar'

+47

Zum Beispiel, wenn '$ config ['foo'] = 'bar';' in der Konfiguration mit '$ this-> config-> item ('foo')' wird 'bar' sein. – Sasha

+0

Bitte fügen Sie obenstehendes Beispiel zu beantworten –

13

Sie können so etwas tun:

$ci = get_instance(); // CI_Loader instance 
$ci->load->config('email'); 
echo $ci->config->item('name'); 
+3

Actualy innerhalb einer Ansicht $ dies CI_Loader bezieht und get_instance() bezieht sich auf die CI_Base() wie immer. –

+0

funktioniert mit Ocular Template Library –

1

Immer, wenn ich config-Variablen zugreifen müssen neige ich dazu verwenden: $ this-> config-> config [ 'variable_name'];

3

Ihr Controller sollte alle Informationen aus Datenbanken, Konfigurationen usw. sammeln. Es gibt viele gute Gründe, sich daran zu halten. Ein guter Grund ist, dass Sie dadurch die Quelle dieser Informationen leicht ändern können und keine Änderungen an Ihren Ansichten vornehmen müssen.

25

Auch die allgemeine Funktion config_item() funktioniert so ziemlich überall in der CodeIgniter-Instanz. Controller, Modelle, Ansichten, Bibliotheken, Helfer, Haken, was auch immer.

+1

Danke dafür - Ich hatte Probleme beim Zugriff auf einen Config-Wert von einem Haken. Für jeden anderen funktioniert das großartig. – CashIsClay

+0

Aber 'config_item()' hat nicht den Kollisionsschutz, der in '$ this-> config-> item()' verfügbar ist – IJas

8

$this->config->item('config_var') hat nicht für meinen Fall funktioniert.

ich die config_item('config_var'); Echo Variablen in der Ansicht nur konnte

2
echo $this->config->config['ur config file'] 

Wenn Ihre Konfigurationsdatei Bild, das Sie wie dies zum Beispiel Zugang müssen auch kommen verwenden schließe ich ein app.php in Config-Ordner Ich habe eine Variable

$config['50001'] = "your message" 

Jetzt möchte ich Zugriff in meinem Controller oder Modell.

Versuchen folgenden zwei Fälle sollte man

case1 arbeiten:

$msg = $this->config->item('ur config file'); 

echo $msg['50001']; //out put: "your message"; 

case2:

$msg = $this->config->item('50001'); 

echo $msg; //out put: "your message" 
0

$config['cricket'] = 'bat'; in config.php

$this->config->item('cricket') Verwenden Sie dies in Sicht

1

So habe ich es gemacht. In config.php

$config['HTML_TITLE'] = "SO TITLE test"; 

In Anwendungen/Ansicht/Header.php (vorausgesetzt, HTML-Code)

<title><?=$this->config->item("HTML_TITLE");?> </title> 

Example of Title

Verwandte Themen