Добавить значения из бд в limit(10) фраемворк kohana 3.1?

Сделал дополнительный блок для вывода.

В шаблоне код:
<?php foreach ($block_1 as $news_1):?>
тут новости со стилями и т.д
<?php endforeach?>


в контроллере главной application\classes\controller index.php

код для блока:

$this->template->categories = $data;
$this->template->block_1 = ORM::factory('news')->where('status', '=',
 1)->order_by('id', 'DESC')->and_where('block1', '=',
 1)->limit(10)->find_all();


Как в limit(10) вывести значение из админки (значение количества новостей показывать на главной)?

В "админке", в настройках сделал поле per_page_block1, в таблице settings.

Пытаюсь через админку задавать лимит на вывод новостей на главной.
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 3
gibson_dev
@gibson_dev
$limit = DB::select('per_page_block1')->from('settings')->limit(1)->execute()->get('per_page_block1', 10);
$this->template->categories = $data;
$this->template->block_1 = ORM::factory('news')->where('status', '=',
 1)->order_by('id', 'DESC')->and_where('block1', '=',
 1)->limit($limit)->find_all();


Писал по памяти, ну а запрос сами подкорректируйте как вам надо.
Я вообще делала статичный клас для настроек https://gist.github.com/gibson/1a54156c4e2faf83df8f
Где потом
Settings::get('page_limit',10)
Ответ написан
@entermix
Для Kohana есть готовый модуль для реализации постраничной навигации (не идет с коробки)
https://github.com/shadowhand/pagination
Ответ написан
ws17
@ws17 Автор вопроса
Большое спасибо за ответ, ах, а я видел подобные примеры, но думал что не правильно это, не то что надо, о оказалось это то что надо и работает ! как все просто )))

я так понимаю, если в настройках в сеттинге ничего не стоит, то он берет параметр 10, и выводит 10 новостей, правильно ли я понял? ( то есть если он не берет значение из бд, если там ничего нет, то он подставляет значение 10.
get('per_page_block1', 10);

Статичный клас для настроек, а что он дает то?

==================================================
Можно ли ко всему этому подключить пагинацию ??? вообще пагинация на сайте есть, но как ее сделать для данного вывода новостей, для данного блока.

задаем допустим выводить 10 новостей, а если их больше то что бы срабатывала пагинация. и появлялись странички.

$limit = DB::select('per_page_block1')->from('settings')->limit(1)->execute()->get('per_page_block1', 10);
$this->template->categories = $data;
$this->template->block_1 = ORM::factory('news')->where('status', '=',
 1)->order_by('id', 'DESC')->and_where('block1', '=',
 1)->limit($limit)->find_all();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы