У меня есть две несвязанные проблемы с Codeigniter:
(a) Я пытаюсь перенаправить пользователя на панель инструментов после успешного входа в систему. то есть от контроллера «auth» до контроллера «dashboard». По какой-то странной причине он продолжает перенаправлять на auth/dashboard (ошибка 404, поскольку он не существует).
Вот что я сделал:
//Within the auth controller
if ($this->auth->login($username, $password)) //Auth->login returns boolean
{
redirect('/dashboard', 'refresh');
# redirect('/dashboard', 'location'); // I tried this too
# redirect('/dashboard/index', 'refresh'); // I also tried this!
}
Что я делаю не так, пожалуйста? Он просто продолжает перенаправлять на auth/dashboard
(b) Я использую великолепную библиотеку шаблонов Codeigniter от Фила Стерджена (без синтаксического анализатора) и не могу получить данные, отправленные в файл партиалов. Эти данные нужны ТОЛЬКО для файла partials. Я просмотрел (к сожалению, скудную) документацию библиотеки, сообщения S/O по теме, а также форумы CI безрезультатно, кажется, нет четкого примера, показывающего, как партиал получает данные, которые ему назначает контроллер. .
Вот как я это делаю. Пожалуйста, скажите мне, что я должен делать неправильно.
// In the controller page
$this->data['user'] = array('info' => 'username', 'value' => 'Cogicero');
$this->data['prefs'] = array('foo' => 'bar');
$this->template
->set_partial('header', 'partials/header', $this->data)
->set_layout('blog')
->build('foobar_view');
И
//In the header partials page
<?php
/* snip */
print_r($data);
print_r($prefs);
print_r($user);
echo $user["info"];
echo $prefs["foo"];
?>
Все вышеперечисленное приводит к ошибкам «массив не существует» или «неопределенная переменная»! Как я должен получать данные в файле частичного представления?
Спасибо
РЕДАКТИРОВАТЬ: Работая в сжатые сроки, поэтому, не предвидя решения, мне пришлось отказаться от библиотеки шаблонов Фила Стерджена и вместо этого выбрать Jens Segers. http://www.jenssegers.be/blog/25/Codeigniter-template-library Это немного похоже на Фила, но по какой-то причине партиалы правильно получают и отображают мои данные. Кроме того, библиотека шаблонов Sergers очень хорошо документирована. Теперь все в порядке, поэтому я приму свой собственный ответ на проблему (а). Спасибо всем.
print_r( get_defined_vars() )
:) - person Cristian   schedule 03.09.2012/dashboard
и содержимое конструктора, если таковые имеются. - person Deepak   schedule 04.09.2012