Новости - кругом вилы

Главные вкладки

Аватар пользователя trazar trazar 24 августа 2009 в 0:53

Уважаемые друпологи!
В каком-то посте я прочитала, что "уж новости-то можно сделать и без модуля!" Типа, это очень просто.
Но я столкнулась с несколькими проблемами, которые никак не могу разрешить. Помогите, пожалуйста!

1. Я хочу ввести понятие "дата новости". Не дата публикации новости, а дата новости. Т.е., иметь возможность внести новость задним числом. Простая вещь, на мой взгляд весьма затребованная.
Создаю поле, задаю формат. Получаю
Вс, 23.08.2009 10:14 - отображение даты поста
Sat, 18.07.2009 (All day) - отображение даты новости
Как ни кручу форматы, застрелись - Sat и все тут.
Но это полбеды, можно короткий формат использовать. Беда с архивом. Как мне объяснить модулю archive, что он на другое поле должен ориентироваться?

2. Хочу, чтобы все, что относится к новостям, шло по адресу news, а не node.
Создаю вьювер, задаю (в том числе) страницу с путем news/[nid]. Все работает. Ура! Подключаю комментарии... А там опять node и все сломалось!

3. Может, плохо искала, но хотела календарик сделать. Щелк - и вот тебе все новости на эту дату (а еще лучше не все, а только по заданной теме). Не получилось. Archive не дал календарика, Calendar заточен, похоже, под другое. Подскажите, пожалуйста, куда плыть.

Комментарии

Аватар пользователя Drugan Drugan 24 августа 2009 в 7:21

1. Тоже бился с этим. Нужно править archive.pages.inc По поводу ориентировки на другое поле, тоже модуль нужно курочить.

2. PathAuto

3. Есть там календарик, только он выглядит вот так .

Аватар пользователя Dock@drupal.org Dock@drupal.org 24 августа 2009 в 11:09

Делал новостной портал и поверьте, обойтись без посторонних модулей можно;)
1. Испробовал много путей и остановился именно на том, чтобы использовать именно дату публикации в качестве даты новости. А другую дату как раз можно сделать дополнительным полем;) Тогда сама собой решается проблема с модулем archive. Calendar лучше не использовать, т.к. уж очень медленно он работает, правда у меня новостей около 20000:). Архив я тоже чуток покромсал, в плане изменения навигации. Если у кого есть Archive с ajax-листалкой по месяцам - дайте мне:) Может как-нибудь перепишу Calendar, чтобы работал быстро.
2. Pathauto.
3. Там есть и обычный календарик в виде блока. Достаточно его просто поставить в нужное место на странице настройки блоков.

Вообще как введу портал в промышленную эксплуатацию, планирую написать свой "Use case", о том, как я и что делал:)

Аватар пользователя trazar trazar 24 августа 2009 в 11:16

"<a href="mailto:Dock@drupal.org">Dock@drupal.org</a>" wrote:
1. Испробовал много путей и остановился именно на том, чтобы использовать именно дату публикации в качестве даты новости.

Не поняла. Тогда должна быть возможность отредактировать дату публикации. Такая возможность есть?

Аватар пользователя trazar trazar 24 августа 2009 в 12:13

"RxB" wrote:
Есть, "Информация об авторе" называется

А, да! Совсем забыла. Потому как отказалась от этой идеи.
"Время создания:" можно заменить на "дата новости"? И сделать это поле обязательным, причем в начале формы?

Аватар пользователя Dock@drupal.org Dock@drupal.org 24 августа 2009 в 15:35

С помощью самописного модуля - да.
Я прикрутил модуль sheduller, т.к. мне нужна возможность планировать публикацию на будущее. По умолчанию снимаете галочку с публикации и ставите программно в поле со временем публикации текущее время;)

Аватар пользователя trazar trazar 24 августа 2009 в 15:58

Всем большое спасибо! Кажется, я более-менее начинаю разбираться, что к чему.
Честно сказать, освоить framework CodeIgniter оказалось быстрее и легче, чем готовую CMS Drupal Smile

Аватар пользователя Dock@drupal.org Dock@drupal.org 24 августа 2009 в 16:28

trazar Зато после усваивания творить - одно удовольствие:)
IrinaStasuk У вас просто количество мероприятий небольшое. Когда счет на пару тысяч будет, тогда будет тормозить жутко, если Вы конечно модуль Calendar использовали...

Аватар пользователя trazar trazar 24 августа 2009 в 16:43

Ирина! Это действительно то, что я хочу. Пара тысяч записей пока не интересует. Только у меня не получилось так сделать. Может быть, расскажете, что и как надо настроить? Если есть время, конечно.

Аватар пользователя IrinaStasuk IrinaStasuk 24 августа 2009 в 23:01

сск+сalendar

Добавьте поле "Дата", куда вводите нужную дату. Изменяете вьюс по умолчанию (В календаре, кроме ваших полей и фильтров должны быть аргументы – год, месяц, день).

Аватар пользователя IrinaStasuk IrinaStasuk 24 августа 2009 в 23:05

"<a href="mailto:Dock@drupal.org">Dock@drupal.org</a>" wrote:
У вас просто количество мероприятий небольшое. Когда счет на пару тысяч будет, тогда будет тормозить жутко, если Вы конечно модуль Calendar использовали...

Во-первых, мне не нужны несколько тысяч прошлых мероприятий.
Во-вторых, (насколько я смогла сравнить) от увеличения количества мероприятий каждая страница вьюса не увеличивала время своей генерации... хотя возможно... несколько тысяч. У меня их парочка... тысяч

Аватар пользователя Dock@drupal.org Dock@drupal.org 25 августа 2009 в 10:02

Просто речь шла о новостях же, а новости не удаляются;)
А тормоза начинаются не при генерации страницы, а при генерации самого блока календаря.

Аватар пользователя IrinaStasuk IrinaStasuk 25 августа 2009 в 10:19

"<a href="mailto:Dock@drupal.org">Dock@drupal.org</a>" wrote:
А тормоза начинаются не при генерации страницы, а при генерации самого блока календаря.

Блок календаря висит на странице, так что время его генерации входит во время генерации страницы. А для того, чтобы не висело - делаю длительный кэш. Могу себе позволить, т.к. мне не важно, чтобы информация для пользователя обновлялась сразу же после добавления материала

Аватар пользователя trazar trazar 26 августа 2009 в 9:46

Я очень извиняюсь, но в связи с обсуждением тормозов хочу спросить: как Drupal создает индексы? Можно ли ему сказать, что нужно сделать индекс по данному полю? Создает ли он индекс автоматически при создании поля типа Дата или при включении этого поля в Календарь?

По моему наблюдению за базой в несколько сотен тысяч записей (не Друпал) при наличии индексов никаких заметных тормозов не происходит. Без индексов тормозило жутко, но как только я создала индекс, все стало тип-топ.