Как еще можно реализовать функции модуля birthday, не создавая при этом профилей пользователей? (Конечно хотелось бы чтобы они появлялись за неделю до ДР, а в день ДР краснели или что-то в этом духе.) У меня есть анкеты на людей и есть данные о их днях рождениях, но они не являются пользователями сайта.
Комментарии
думаю что поможет это http://drupal.org/project/event
Спасибо, посмотрел. Но там нет цикличности, то есть ДР придется каждый год заново вводить.
нет не придется, Вам как я понял нужно для 5-ки... дак есть же модуль http://drupal.org/project/eventrepeat
если анкеты в базе данных можно с помощью модуля http://drupal.org/project/rules написать скрипт на php который будет брать данные о днях рождения из базы и выполнять какие-то действия (публикацию материала на главной, или вставка в код блока нового имени человека у которого д.р.)
А этот весь код прицепить на событие при срабатывании крона.
Покопайте этот модуль я на нем объявления снимаю и удаляю, пользователей перевожу в другую роль, да вобще много что может делать.
Спасибо, посмотрю. Я к сожалению не знаю пхп, да и с Друпалом месяц знаком, так что мне бы какое-нибудь решение на уровне готовых модулей.
никто не знает даже где у Вас данные по дням рождения, не говоря уж о всей поставленной задаче.
Опишите все поподробнее. Из того что я понял - этот модуль вам лучше всего подходит.
Vladimir_VVV данные в базе. Описываю:
Задача: корпоративный сайт. Есть сотрудники, на них нужно создать анкеты (нужный тип материала создан), распределить все это по отделам, это я все сделал, отчасти используя пример Ромки.
Собрал на 5.
Можно было бы использовать birthday, и как-то вытягивать его из профиля, но не все сотрудники будут зарегистрированы на сайте, поэтому заводить их просто для ДР как-то нецелесообразно.
В итоге хотелось бы получить цифровое поле (дату) в материале (анкете), в котором можно будет поставить дату при заведениии новой анкеты. Затем выводить эту дату в нужное время на главной с именем (имя являетя title-ом матераила) сотрудника(в общем все как в birthday). То есть еще нужно из матераила Анкета вытянуть title.
sashken, спасибо, завтра гляну eventrepeat.
Попробуйте модуль views. В нем можно создать блок для вывода на странице с очень широкими возможностями отбора. В том числе и по диапазону дат.
Задача довольно проста, никакие модули событий не нужны.
Это самое верное и простое решение. Создаете во views блок укажите фильтры для отбора типа "анкеты" с подходящей датой тип представления "поля" в поля добавить титл и еще что душа пожелает.
sashken, хотелось бы задействовать поле в Анкете, которое будет днем рождением, а так получается, что в ивенте мне просто придется наклепать дней рождений.
А вы настройки фильтра для дат посмотрите, там многое наворотить можно. Например, не показывать ноды дата которых в будущем.
direqto, а как добавить календарное поле в материал? (чтобы можно было выбирать дату)Наверное есть модуль какой-то, типа calendar?
Есть модуль [module=cck] а к нему поле [module=date]
Ага, уже поставил date, тк calendar потребовал..
Выдавал такую ошибку, когда просил установить ему натройки даты и времени.
user warning: Table 'd5r.event_timezones' doesn't exist query: SELECT * FROM event_timezones WHERE name = 'Europe/Moscow' in Z:\home\d5r.te\www\includes\database.mysql.inc on line 172.
Переустанови модуль.
Не помогло, в принципе все настроено, и работает, только когда здесь /admin/settings/date-time жмешь сохранить, он все сохраняет и выдает ошибку...
Сделал поле, direqtor, а что нужно указать в фильтре, чтобы именно сейчас было?
Ура, "Сегодняшние" Дни рождения вывелись. Возник второй вопрос, как сделать вывод за неделю?
Попробуй now+7
Пробовал: now +7 days, но это следующая неделя, а мне надо предыдущую (заранее чтобы люди знали :)). Я ставил - 7, он это понимает и выводит ДР, которое в тот 1 день, отсчитав 7 дней от now, а вот как вывести весь диапозон от now до -7? Через запятую не хочет, выдает только последнее значение. Уже все перепробывал..
В фильтре какое условие стоит? equal что ли? так думать надо. там еще есть меньше, больше и т.д. А если тебе нужен диапазон добавь это поле в фильтр еще раз и поставь в нем другое условие.
Точно, спасибо, что-то забыл про больше, меньше. Но там нельзя исключить now или можно?
Насчет другого поля не подумал, если now нельзя исключить тогда добавлю полей на неделю)), благо у меня только неделя))
Нет, с добавленем еще одного поля не получилось.. видимо конфликтуют.
С больше чем -7 работает, но мне бы теперь исключить now. Так как я сдела 2 views Сегодня и Ближайшие.
Что там может конфликтовать?
На одно поле условие больше либо равно now
На это же поле добавленное повторно меньше либо равно now+7
Получаем вилку на неделю от текущей даты. А в следующем году придется в условиях еще один год отнять.
Или вьюс для пятерки не позволяет поле дважды добавлять?
Видимо я что-то не так объяснил.
Я сделал один views для вывода сегодняшних ДР, там все ок, я поставил is equal to now.
Второй views для вывода ДР за неделю до текущей даты. Поэтому вывод ДР текущей даты мне уже не нужен, то есть надо исключить now. Прекрасно работает такая запись greater than or equal to -7 days. Но он выводит вместе с сегодняшними, а для них я уже сделал свой views, они не нужны.
Два views решил сделать потому что диз будет разный, ну там одни одного цвета, другие другого и тп.
Добавлять год не придется, потому что у меня же дни, я поле day вывожу - Date: День рождения - Day (field_birthday)
2 поля добавить можно.
Добавьте в неделю второе поле Date: День рождения - Day (field_birthday) и поставьте фильтр меньше чем now или now-1 day или просто -1 day
Супер, то что надо. Только я что-то протупил, дни рождения то будущие должны быть, а не прошедшие.
less than or equal to + 7 days
greater than now
По теме только один вопрос остался, а если бы один views был, можно ли было как то визуально отделить сегодняшних от будущих? Ну там черту поставить.
Всем спасибо, direqtor отдельное спасибо за терпение!
Я не нашел.
Еще нужно добавить поле Date: - Month с параметрами is equal to now, иначе вылазят ДР со всех месяцев
Набил сотрудников и выдача недельных ДР перестала работать. В чем может быть причина?
Народ, помогите пожалуйста написать свой запрос по полю дата, а то views не хочет корректно работать. По дню, сортировка по увеличению, по месяцу сортировка по увеличению, год игнорируется. Показывать N, кроме сегодня.