последнии новости, статьи, товары - как реализовать на одной странице?

5 просмотров
Перейти к первому непрочитанному сообщению

site...@gmail.com

не прочитано,
26 янв. 2007 г., 12:43:3726.01.2007
– cake-php-ru
Вот стала задача реализовать
своеобразную сводку о n последних
новостей, статей и товаров.. Для
каждого по отдельности модули и
контролеры, также как вывод уже сделан,
а вот как совместить информацию с
нескольких сразу пока непонятно =(

Сергей Егоров

не прочитано,
30 янв. 2007 г., 15:04:0630.01.2007
– cake-...@googlegroups.com
Делаешь контроллер который без модели работает и в нем вызываешь по порядку все свои контроллеры через requestAction(). Вывод совмещаеш. Хотя это немного не по MVC imho

Michael Chernyakoff

не прочитано,
30 янв. 2007 г., 15:57:0430.01.2007
– cake-...@googlegroups.com
On Tue, 30 Jan 2007 23:04:06 +0300, Сергей Егоров <rustl...@mail.ru>
wrote:

> Делаешь контроллер который без модели работает и в нем вызываешь по
> порядку все свои контроллеры через requestAction(). Вывод совмещаеш.
> Хотя это немного не по MVC imho
>

еще варианты:
1) создать модель с объявлением var $useTable = false;, работающую со
всеми таблицами, и обращаться к ней.
2) создать универсальный компонент,
в компонент передавать: имя таблицы, имя столбца по которому производится
сортировка и требуемое количество новостей.

Hellbot

не прочитано,
31 янв. 2007 г., 07:01:1331.01.2007
– cake-php-ru
А можно капельку подробнее про вариант номер 1 ?
Мне не совсем понятно как потом эту модель использовать.

On 30 Янв., 23:57, "Michael Chernyakoff" <chernyak...@gmail.com>
wrote:
> On Tue, 30 Jan 2007 23:04:06 +0300, Сергей Егоров <rustler2...@mail.ru>

Michael Chernyakoff

не прочитано,
1 февр. 2007 г., 16:31:2401.02.2007
– cake-...@googlegroups.com
On Wed, 31 Jan 2007 15:01:13 +0300, Hellbot <g.he...@gmail.com> wrote:

> А можно капельку подробнее про вариант номер 1 ?
> Мне не совсем понятно как потом эту модель использовать.
>

как-то так:

в контроллере

$LatestItems=&new LatestItems();
$this->set('latest_news',$LatestItems->find_news(10));
$this->set('latest_articles',$LatestItems->find_articles(5));
$this->set('latest_comments',$LatestItems->find_comments(15));


если модель используется в нескольких методах контроллера, то
нужно вместо:

$LatestItems=&new LatestItems();

указать в начале класса:

var $uses=array('LatestItems');

и обращаться к модели так: $this->LatestItems

Hellbot

не прочитано,
2 февр. 2007 г., 07:42:4102.02.2007
– cake-php-ru
Тогда вопрос, с разными таблицами учим ее работать самостоятельно ? Не
используя встроеные средства.
Я правильно понимаю ?

Michael Chernyakoff

не прочитано,
2 февр. 2007 г., 17:50:5702.02.2007
– cake-...@googlegroups.com
On Fri, 02 Feb 2007 15:42:41 +0300, Hellbot <g.he...@gmail.com> wrote:

> Тогда вопрос, с разными таблицами учим ее работать самостоятельно ? Не
> используя встроеные средства.
> Я правильно понимаю ?

Да.
Я за метод query. И понятный SQL. Без HABTM, но с LEFT JOIN.
Минус этого подхода в том что могут быть проблемы при переходе на другой
двиг баз данных -- mssql или postgres. Но я уже много лет работаю c MySQL
и не вижу причин что-то менять.

В принципе вышесказанное относится к спору: так ли уж нужен
Object-relational mapping (ORM)?
Вот ссылка на обсуждение вопроса в phpclub --
http://phpclub.ru/talk/showthread.php?threadid=91066

p.s. Я вот решил, что мне ORM не нужен. И перенес разработку новых
проектов на CodeIgniter.

vla...@gmail.com

не прочитано,
3 февр. 2007 г., 03:52:5403.02.2007
– cake-php-ru
2Michael спасибо за интересные ссылки.

Мог бы подробнее рассказать о CodIgniter - общем и различии?
> проектов на CodeIgniter.

Алексей Савельев

не прочитано,
3 февр. 2007 г., 11:23:4903.02.2007
– cake-...@googlegroups.com
vgc> 2Michael спасибо за интересные ссылки.
vgc> Мог бы подробнее рассказать о CodIgniter - общем и различии?
Присоединяюсь к вопросу. Достаточно часто читаю сообщения о переходе с
Cake на CodIgniter.

С уважением,
А.Савельев


Jtraub

не прочитано,
3 февр. 2007 г., 23:17:2303.02.2007
– cake-php-ru
> Мог бы подробнее рассказать о CodIgniter - общем и различии?
Есть одна большая причина по которой выбирать CodeIgniter не
следует :-) Разработка ведется в закрытом режиме. И это самое главное.
У CakePHP есть багтрекер + репозитарий открытый, да и команда core
developers выглядит посерьезнее, чем у CI. Т.е. будущее Cake выглядит
более радужно.

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

Jtraub

не прочитано,
3 февр. 2007 г., 23:20:5703.02.2007
– cake-php-ru
> Делаешь контроллер который без модели работает и в нем вызываешь по порядку все свои контроллеры через requestAction(). Вывод совмещаеш. Хотя это немного не по MVC imho
А если сделать контроллер, который будет работать со всеми моделями?

Сергей Егоров

не прочитано,
5 февр. 2007 г., 04:48:4805.02.2007
– cake-...@googlegroups.com
CI паршива IMHO - MVC boundary пробить там нефиг делать.
Как увидел что они генерацию view из контроллера явно вызывают в самых первых примерах - так и забил на него

Сергей Егоров

не прочитано,
5 февр. 2007 г., 04:55:1205.02.2007
– cake-...@googlegroups.com
> > Делаешь контроллер который без модели работает и в нем вызываешь по порядку все свои контроллеры через requestAction(). Вывод совмещаеш. Хотя это немного не по MVC imho

> А если сделать контроллер, который будет работать со всеми моделями?

Можно и так - так будет честно.
Можно недостающие модели подгрузить в нужный action.
Можно query сделать.
Если оракл - то можно view сделать и к нему модель.

Если view рендерити через свои хелперы то проблем нету

--
Sergey

Denis Dheremetov

не прочитано,
5 февр. 2007 г., 04:58:5605.02.2007
– cake-...@googlegroups.com

> CI паршива IMHO - MVC boundary пробить там нефиг делать.
> Как увидел что они генерацию view из контроллера явно вызывают в самых
> первых примерах - так и забил на него

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

--
Denis Sheremetov

djVirus

не прочитано,
27 февр. 2007 г., 02:43:2027.02.2007
– cake-php-ru
Я использую другой вариант, не через requestAction. Все данные готовлю
в AppController-е (либо в текущем action-е, если блок выводится не
везде), затем в шаблоне лайаута пользуюсь элементами, передавая им
данные. Это простой способ. Если нужно сделать портальную структуру,
динамически включать-выключать блоки, тогда requestAction. Или, ещё
сложнее, под каждый блок создаётся собственный класс с рендером, в
AppController формирую список проинициализированных объектов-блоков
для каждой колонки и в лайауте (или в элементе) в цикле вызываю рендер
каждого объекта списка.

Ответить всем
Отправить сообщение автору
Переслать
0 новых сообщений