Некоторое время назад я добавил несколько параметров в библиотеку, и они работали просто отлично ... Я не знаю, испортил ли я какой-либо параметр конфигурации или что-то еще, сейчас я не могу передать точно такие же параметры.
Шаблон библиотеки:
<code> <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Template {
public $config = array();
public function __construct($params = NULL)
{
echo '<pre>'; print_r($params); echo '
';
/ * Это должно напечатать массив (и ничего не печатать):
массив
(
[menus] => Массив
(
[Administradores] => индекс
[Logs] => журналы
)
) * /
if ($ params) {
foreach ($ params as $ key => $ value) {
$ this-> config [$ key] = $ value;
}
}
}
публичная функция cms_template ($ pagina = NULL, $ modulo = NULL, $ titulo = NULL, $ data = NULL, $ dir = 'backoffice')
{
$ CI = & get_instance ();
$ CI-> load-> библиотека ( 'сессии');
if (isset ($ this-> config ['menus']))
$ menus = $ this-> config ['menus'];
еще
$ Меню = NULL;
$ dados ['dados'] = массив (
'id_administrador' => $ CI-> session-> userdata ('id_administrador'),
'email' => $ CI-> session-> userdata ('email'),
'nome' => $ CI-> session-> userdata ('nome'),
'modulo' => $ modulo,
'titulo' => $ titulo,
'menus' => $ menus
);
$ CI-> load-> view ($ dir. '/ Topo', $ dados);
$ CI-> load-> view ($ dir. '/'. $ Pagina, $ data);
$ CI-> load-> Вид ($ реж '/ rodape.);
}
Контроллер:
public function __construct() {
parent::__construct();
$this->auth_model->verificaLogin('id_administrador','backoffice/login');
$this->load->model('administradores_model');
$params=array(
'menus' => array(
'Administradores'=>'index',
'Logs'=>'logs'
)
);
$this->load->library('template', $params);
}
Когда я запускаю его, он выдает ошибку n в представлении:
<?php
foreach ($dados['menus'] as $key => $value) {
echo '<li>'.active_anchor('/'.$this->uri->segment(1).'/'.$this->uri->segment(2).'/'.$value, $key, '/'.$this->uri->uri_string()).'</li>';
}
?>
Обнаружена ошибка PHP
Серьезность: Предупреждение
Сообщение: указан неверный аргумент для
Еогеасп ()