Я работаю с КИ уже почти год и могу решить практически любую проблему.
но теперь я наткнулся на стену с чем-то, что выглядит как кэширование параметров для представлений.
ПРИМЕР
Контроллер метод:
public function cache_test()
{
$data['dummy'] = "foobar";
$this->load->view('cache_view', $data); // should output "foobar"
unset($data['dummy']);
$this->load->view('cache_view', $data); // should output nothing
}
Посмотреть:
<? if(isset($dummy)): ?>
<?= $dummy ?>
<? endif; ?>
результат:
foobar foobar
я нашел обходной путь, где вы должны установить переменную в пустую строку
$data['dummy'] = ""
а затем внести изменения, если
if(isset($dummy) && $dummy != "")
но это не кажется мне очень чистым, и подобные вещи мне не нравятся: /
любая помощь или указатели в правильном направлении высоко ценятся.
РЕДАКТИРОВАТЬ:
Я хочу использовать это, чтобы загрузить несколько пунктов меню, где некоторые параметры просмотра являются необязательными. эти необязательные параметры затем решают, показывать ли мне какой-то контент в представлении или нет.
Вы можете попробовать следующий код, может быть, это решит вашу проблему
public function cache_test()
{
$data['dummy'] = "foobar";
$this->load->view('cache_view', $data); // should output "foobar"
unset($data);
$this->load->view('cache_view', $data); // should output nothing
}
Других решений пока нет …