CodeIgniter - доступ к переменной $config в представлении


Довольно часто мне нужно получить доступ к переменным $config в представлениях. Я знаю, что могу передать их от контроллера к load->view(). Но мне кажется чрезмерным делать это явно.

Есть ли какой-нибудь способ или трюк для доступа к переменной $config из представлений CI, не нарушая работу контроллеров с запасным кодом?

Author: tereško, 2010-04-13

9 answers

$this->config->item() работает нормально.

Например, если файл конфигурации содержит $config['foo'] = 'bar';, то $this->config->item('foo') == 'bar'

 177
Author: Phil Sturgeon, 2017-10-10 16:31:27

Кроме того, общая функция config_item() работает практически везде в экземпляре CodeIgniter. Контроллеры, модели, представления, библиотеки, помощники, крючки, что угодно.

 28
Author: Phil Sturgeon, 2015-08-24 11:13:01

Вы можете сделать что-то вроде этого:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');
 13
Author: Alexey Shein, 2010-04-13 17:15:26

$this->config->item('config_var') не сработало в моем случае.

Я мог использовать только config_item('config_var'); для отображения переменных в представлении

 8
Author: user1002232, 2011-10-19 23:24:29

Ваш контроллер должен собирать всю информацию из баз данных, конфигураций и т.д. Есть много веских причин придерживаться этого. Одна из веских причин заключается в том, что это позволит вам довольно легко изменить источник этой информации и не вносить никаких изменений в свои представления.

 3
Author: Utah_Dave, 2010-04-13 22:46:00
echo $this->config->config['ur config file'] 

Если ваш конфигурационный файл также отображается, вам нужно получить доступ вот так, например, я включаю app.php в папке конфигурации у меня есть переменная

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

Теперь мне нужен доступ к моему контроллеру или модели.

Попробуйте выполнить следующие два случая, в которых следует работать

Случай1:

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

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

Случай 2:

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

 echo $msg;    //out put:  "your message"
 2
Author: krishna_coolsofty, 2015-02-15 03:35:24

Всякий раз, когда мне нужно получить доступ к переменным конфигурации, я обычно использую: $this->config->config['имя переменной'];

 1
Author: The website-lab, 2010-04-13 18:59:22

$config['cricket'] = 'bat'; в config.php файл

$this->config->item('cricket') используйте это в представлении

 1
Author: Rick, 2016-03-16 18:51:14

Вот как я это сделал. В config.php

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

В applications/view/header.php (предполагая html-код)

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

Example of Title

 1
Author: fangstar, 2016-12-21 23:29:07