GeoIP на сайте. Реализация в Битрикс

Иногда на сайте требуется реализовать что-то вроде такого функционала:

head

Город при посещении сайта должен быть выбран в соответствии с тем, откуда пользователь зашёл на сайт. Если из Санкт-Петербурга — то должен быть отображён Санкт-Петербург.

Реализовать определение города можно с помощью замечательного модуля «Определение местоположения по IP-адресу». Качаем его из маркетплейса отсюда.

Приступим к реализации:

Читать далее

Как получить значение пользовательского свойства типа «список» в Битрикс

Когда мы используем свойства инфоблока типа «список»:

sv-spisok
sv-spisok2

и выдираем его значение GetList-ом, мы получаем только ID значения. К примеру, для «Наличный расчёт» получаем ID=83.

Как же получить саму надпись «Наличный расчёт»? Нас спасёт следующая функция:

Читать далее

Реализация отображения 404 страницы в Битриксе

В Битриксе есть проблема отображения 404 страницы, если на сайте используются компоненты, такие как catalog/news.list и пр. (отображающие какую-либо информацию из инфоблока). Проблема заключается в том, что при запросе какого-либо несуществующего раздела/элемента — производится отображение либо надписи, что раздел/элемент не найден, либо показывается начальная страница каталога. Как же быть?

Читать далее

Просмотр исходящих почтовых сообщений в Битрикс

Часто возникает проблема, когда непонятно почему не отправляется почта с сайта. Если вы используете CMS Битрикс, то можно воспользоваться следующим запросом к базе данных:

select * from b_event
order by DATE_EXEC desc

Данных запрос покажет список всех сообщений и статусы отправки. Если сообщение не отправлено — можно определить причину.

Для того, чтобы выполнить этот запрос, воспользуйтесь админ-панелью Битрикс: Настройки->Инструменты->SQL запрос:

Читать далее

Фильтр со сложной логикой в Битрикс

$arFilter может не только принимать значения свойств элементов ИБ и самих ИБ(наборы для разных Getlist() — отличаются), но и может манипулировать так называемой «Сложной логикой» по средствам «массива вложенного фильтра». Что это такое и как это работает я поясню ниже.

Предположем у Вас стоит задача сделать выборку из ИБ используя метод GetList() класса CIBlockElement. Условия выборки следующие:

  • вывести все элементы у которых свойство PROPERTY_archive_VALUE равняется значению «нет»
  • вывести все элементы у которых свойство PROPERTY_archive_VALUE не заполнено вообще

То есть нам необходимо получить выборку элементов ИБ в которой будут находиться элементы у которых свойство PROPERTY_archive_VALUE равняется значению «нет» или PROPERTY_archive_VALUE не заполнено вообще.

Пример кода:

<?$GLOBALS['arrArc'] = array('ACTIVE' => 'Y',  array("LOGIC" => "OR", array('PROPERTY_archive_VALUE'=>false), array('PROPERTY_archive_VALUE'=>"нет")));?>

Подробнее можно прочитать здесь.