Создание архива новостей

Вопросы относительно установки платформы Абрикос на сервер

Модераторы: Mansur, radiolok

Создание архива новостей

Сообщение mdErrDX5341 » 17 май 2012, 13:25

Возможно ли создать кирпич в модуле news для архива новостей
mdErrDX5341
 
Сообщения: 13
Зарегистрирован: 27 апр 2012, 18:45

Re: Создание архива новостей

Сообщение roosit » 17 май 2012, 13:31

Архив новостей - что это? И как должен работать этот кирпич?
Планета задач - управляйте задачами и проектами легко.
Govorim.org - развиваем СПО в России, присоединяйтесь.
Twitter - мой твиттер. Все из жизни платформы и не только.
Аватара пользователя
roosit
Администратор
 
Сообщения: 144
Зарегистрирован: 02 авг 2011, 16:21
Откуда: Казань

Re: Создание архива новостей

Сообщение mdErrDX5341 » 17 май 2012, 13:38

У заказчика просто странное представление о сайтах, нужно что то вроде этого
> 2010 июнь
> 2010 август
> 2010 сентябрь
> 2010 октябрь
> 2010 ноябрь
> 2010 декабрь
> 2011 январь
> 2011 февраль
> 2011 март
> 2011 апрель
> 2011 май
> 2011 июнь
> 2011 июль
> 2011 август
что бы новости можно просматривать по году и месяцу,
Просто уже есть не один заказ....(сам не понимаю для чего это, если вставить ссылку "Все новости")
mdErrDX5341
 
Сообщения: 13
Зарегистрирован: 27 апр 2012, 18:45

Re: Создание архива новостей

Сообщение roosit » 17 май 2012, 13:43

Да, конечно, такой кирпич сделать можно.
1. либо создать такой кирпич прямо в модуле News с внесением изменений в репо
2. либо сделать модуль паразит (например newsext), который будет использовать модуль news, его функции для построения своих кирпичей, которые уже и будут потом вставлены в шаблон.
Планета задач - управляйте задачами и проектами легко.
Govorim.org - развиваем СПО в России, присоединяйтесь.
Twitter - мой твиттер. Все из жизни платформы и не только.
Аватара пользователя
roosit
Администратор
 
Сообщения: 144
Зарегистрирован: 02 авг 2011, 16:21
Откуда: Казань

Re: Создание архива новостей

Сообщение mdErrDX5341 » 17 май 2012, 13:49

Хотелось бы сделать именно кирпич, что бы не плодить дополнительных модулей да и вообще городить во круг платформы лишний код, просто не совсем понимаю как выдернуть информацию из базы по месяцам и годам, именно из кирпича(пока слабо представляю как это происходит)
mdErrDX5341
 
Сообщения: 13
Зарегистрирован: 27 апр 2012, 18:45

Re: Создание архива новостей

Сообщение roosit » 17 май 2012, 14:13

Даты в базе содержатся в UNIX формате.
Вот пример, как вычислить сгруппированные новости по годам:
Код: Выделить всё
SELECT count( * ) AS cnt
FROM `cms_ns_news`
GROUP BY YEAR( FROM_UNIXTIME( published ) )

Ну а дальше уже дело техники.
Группируйте записи по годам и месяцам, по нему и выводите "карту" доступных новостей по месяцам.
Потом по клику на эту карту выводите нужный список.
Например, все записи 2012 года:
Код: Выделить всё
SELECT count( * ) AS cnt
FROM `cms_ns_news`
WHERE YEAR(FROM_UNIXTIME(published))=2012
Планета задач - управляйте задачами и проектами легко.
Govorim.org - развиваем СПО в России, присоединяйтесь.
Twitter - мой твиттер. Все из жизни платформы и не только.
Аватара пользователя
roosit
Администратор
 
Сообщения: 144
Зарегистрирован: 02 авг 2011, 16:21
Откуда: Казань

Re: Создание архива новостей

Сообщение mdErrDX5341 » 17 май 2012, 14:38

То есть...
сначала мне нужно подготовить модуль в папке includes модуля news, а потом уже делать кирпич в папке brick?
mdErrDX5341
 
Сообщения: 13
Зарегистрирован: 27 апр 2012, 18:45

Re: Создание архива новостей

Сообщение roosit » 17 май 2012, 14:46

Создаете кирпич, например groupyear.html, в папке brick и в описании его указываете скрипт groupyear.php, который вы создадите в папке includes.
Когда будет происходит сборка кирпича groupyear он вызовет скрипт groupyear.php
Скрипт groupyear.php вызовет менеджер модуля новостей - Abricos::GeModule('news')->GetManager()...
Далее, запрашиваете данные функциями из этого менеджера.
При запросе функции, проверяется роль (доступ юзера) на выборку данных из базы.
Если доступ есть, вызываете скрипт выборки из запросов, которые описаны в dbquery.php
Когда данные получены, делаете сборку шаблона из переменных кирпича.
Для примера, смотрите как работает кирпич lastnews
Планета задач - управляйте задачами и проектами легко.
Govorim.org - развиваем СПО в России, присоединяйтесь.
Twitter - мой твиттер. Все из жизни платформы и не только.
Аватара пользователя
roosit
Администратор
 
Сообщения: 144
Зарегистрирован: 02 авг 2011, 16:21
Откуда: Казань


Вернуться в Установка Abricos

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron