Хочу очень кратко рассказать про свой новый модуль «Умные рассылки». Кратко потому, что на странице модуля и в своем блоге я очень подробно уже все описал.
Модуль интегрируется на страницу создания новой рассылки и позволяет выбирать получателей по огромному числу критериев:
Про то, как вставлять свой код на существующие страницы я уже рассказывал. Правда, тут сделал это чуть изящней, но суть такая же. Идея модуля у меня была уже очень давно, но все руки не доходили. даже выпускал вот такое просто решение бесплатное. Новое решение платное. Действуют партнерские скидки.
Ну, и раз уж это блоги разработчиков, а не блоги для рекламы, то расскажу еще про одно решение. Была проблема с фильтрацией дней рождения пользователей. В Битриксе это сделано достаточно глупо — фильтр дней рождения с учетом года. Ну кому это нужно? Мне нужны все пользователи, у которых ДР с 1 января по 20 января, а не все пользователи, у которых день рождения с 1 января 2013 года по 20 января 2013 года. Общались на этот счет с ТП, но решения не было.
На основе информации из данного обращения была создана заявка в отдел разработок. Категория: Пожелания. Критичность: Нормальная. Номер обращения в разработку: 36045.
Единственное решение, которое я вижу сейчас это свой SQL запрос. Вот так, например, получим ID всех пользователей, у которых день рождения в период с 1 января по 20 января любого года:
$date1 = date("md", strtotime('01.01.1900'));
$date2 = date("md", strtotime('20.01.1900'));
$strSQL = "SEL ECT ID FR OM b_user WHERE DATE_FORMAT(PERSONAL_BIRTHDAY,'%m%d') BETWEEN '{$date1}' AND '{$date2}'";
global $DB;
$tmpDB = $DB->Query($strSQL);
while($t = $tmpDB->Fetch()){
$users[] = $t["ID"];
}
Именно это решение я использую сейчас. Но чуть позже нашлось еще вот такое:
WHERE DAYOFYEAR(PERSONAL_BIRTHDAY) BETWEEN DAYOFYEAR ('01.01.1900') AND DAYOFYEAR ('20.01.1900')
Оно мне кажется более правильным. Важно ставить один и тот же год во втором запросе.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».