Простая реализация Code Igniter на боковой панели? Как? - PullRequest
2 голосов
/ 10 июня 2011

Я опубликовал тему несколько дней назад, но она не пошла в том направлении, которое я искал, поэтому я попробую еще раз, и пальцы объяснят немного лучше.

У меня есть список контроллеров.Дом, Лига, Форум как так далее.Как только контроллер получает свои данные, он вызывает представление с именем template, которое, в свою очередь, вызывает представления заголовка, нижнего колонтитула, содержимого и боковой панели по умолчанию.(Переменная содержимого устанавливается контроллером).

Пока все хорошо, это прекрасно работает, пока я не пойму, что данные боковой панели должны быть динамическими, а не их текущее статическое состояние. Теперь, когда сайт становится большеЯ бы предпочел не указывать данные, которые вызываются для боковой панели каждый раз.

Я бы предпочел установить переменную в контроллере, которая может загружать «виджеты», возможно, я вижу, что это делается в шаблонеview, однако я знаю, что контроллеры не могут быть вызваны в view, поэтому я застрял.

$sidebar = array(‘latest_news’,‘latest_forum’);

В настоящее время я эмулирую этот эффект с помощью Ajax… Я указываю список переменных в контроллере.Шаблон зацикливает переменные и выполняет Ajax-запрос для каждого необходимого виджета, помещая их в div.

Должен быть лучший способ ... Пример: http://dev.banelingnest.com/

Теперь я посмотрелв HMVC, и я не могу обернуть голову вокруг этого.Это кажется раздутым для моих ограниченных требований.У кого-нибудь есть хороший и простой способ добиться этого?

Заранее спасибо .. Корхал

1 Ответ

1 голос
/ 10 июня 2011

Как проще всего, задайте переменную, которая будет делать что-либо в контроллере, а затем просто отправьте ее как одну из переменных в представление ...

Контроллер:

 $data['widget'] = $this->show_widget('time'); // widget output
 $this->load->view('sidebar', $data);

Вид сбоку:

<div class="sidebar">
  <?php if (isset($widget)) echo $widget; ?>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...