Битрикс не работает каталог: Почему не работает каталог в битрикс? — Хабр Q&A

1С-Битрикс & 404 Not found

В обновлении модуля «Информационные блоки» v15.5.1 от 24.05.2015 помимо всего прочего были обновлены компоненты bitrix:catalog, bitrix:news.

Данные компоненты «научились» работать с 404й ошибкой! Мы очень давно этого ждали и на безрыбье пользовались собственным решением описанным тут.

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

Обновление системы/шаблонов

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

	"MESSAGE_404"		=> $arParams["MESSAGE_404"],
	"SET_STATUS_404"	=> $arParams["SET_STATUS_404"],
	"SHOW_404"		=> $arParams["SHOW_404"],
	"FILE_404"		=> $arParams["FILE_404"],

Настройка компонентов

Скриншот 1.

Переходим к настройкам компонентов. Сразу прокрутим вниз до блока «Настройки 404 ошибки» (скриншот 1).

Ранее этого блока не было, рассмотрим его параметры.

  • «Установить статус 404» — собственно устанавливает соответствующий статус.
  • «Показ специальной страницы» — если выбрать данный чек, то появится поле ввода для пути к странице ошибки 404.
  • «Сообщение для показа» — тут вводится текст, который будет выведен пользователю когда появляется 404я ошибка. По умолчанию данные берутся из компонента.

Если выбран вариант показа специальной страницы, то при возникновении 404й ошибки, на страницу, без изменения URL, будет подгружена указанная страница, либо /404.php по умолчанию.

Если заполнить поле сообщения, то при возникновении 404й ошибки, на месте компонента будет выведено соответствующее сообщение.

«Не лучше костыля»

Вроде бы решение хорошее и даже работает, но давайте копнем глубже.

Начнем с компонента bitrix:catalog, с настройками 404й ошибки вроде все ясно, но как работает метод с разными вариантами построения URL?

Первый вариант настройки URL

Скриншот 2.

Разберем первый вариант построения URL для секций и элементов, блок «Управление адресами страниц», в данном случаи все элементы инфоблока находятся в корне, а секции выстраиваются в цепочку (скриншот 2).

Посмотрим как компонент будет реагировать на URL следующих типов:

  • «/models/section1/что-то-не-то/» — 404
  • «/models/что-то-не-то/section1/» — 404
  • «/models/что-то-не-тоsection1/» — 404
  • «/models/section1/что-то-не-то/section2/» — 404
  • «/models/element/что-то-не-то/» — 404
  • «/models/что-то-не-то/element/» — 404
  • «/models/что-то-не-тоelement/» — 404

И подобные комбинации будут адекватно отдавать 404ю ошибку.

Второй вариант настройки URL

Скриншот 3.

Разберем второй вариант построения URL для секций и элементов, блок «Управление адресами страниц», в данном случаи все элементы инфоблока находятся в своих секциях, а секции находятся в корне (скриншот 3).

Посмотрим как компонент будет реагировать на URL следующих типов:

  • «/models/section1/что-то-не-то/» — 404
  • «/models/что-то-не-то/section1/» — 404
  • «/models/что-то-не-тоsection1/» — 404
  • «/models/element/что-то-не-то/» — 404
  • «/models/что-то-не-то/element/» — 200 OK
  • «/models/section/что-то-не-то/element/» — 404
  • «/models/что-то-не-тоelement/» — 404

Как видно из примера, при такой настройке между секцией и элементом, в URL можно написать что угодно и система это «проглотит». Ситуацию можно исправить только заменив #SECTION_CODE# на #SECTION_CODE_PATH#.

Компонент bitrix:news

Он тоже получил обновление, но как и раньше, очень плохо работает с секциями, а следовательно никакой адекватной обработки 404х ошибок с их участием нет.

Итог

В общем данное обновление полностью закрывает необходимость использования собственного решения. Но на этом все, поддержки некоторых видов настроек URL как не было, так и нет, компонент bitrix:news как и раньше — в пролете.

Блог о веб разработке, интернет-маркетинге, внедрении, настройках и интеграции Битрикс24 и 1С компании ИНТЕРВОЛГА

+7 495 648 57 90

CRM Битрикс24Веб-ПроектыИнтернет-маркетингМаркетплейсыПлатформа 1СТехподдержкаБрендингЖизнь

09.05.2023

Автоматизация склада в 1С:Управление торговлей: 1001-й способ экономии нервов, времени и денег Несмотря на широкие возможности и выбор систем управления складом, компании продолжают дорабатывать их под себя. Продукты компании 1С предоставляют мощный …

09.05.2023

Масштабирование бизнеса в ритейле: как открыть 75 магазинов в 45 городах мира и научиться запускать по одной языковой версии магазина каждую неделю Бизнесы расширяются, если понимают, что их бизнес-модель способна стабильно генерировать прибыль. Задача масштабирования – ключевая для многих компа…

05.05.2023

CRM и Партнерский портал Лаборатории Касперского. Переход с Salesforce Компания ИНТЕРВОЛГА была выбрана исполнителем в тендере на оказание услуг для АО «Лаборатория Касперского» по замене решения на Salesforce Sales Cloud на альте…

28.04.2023

Переезд с SalesForce на Битрикс24 для крупного агентства коммерческой недвижимости С чего все начиналось? К нам обратилась за помощью ведущая российская компания, оказывающая консультационные, инвестиционные и агентские услуги в сфере ко…

25.04.2023

Секреты маркетплейсов: настраиваем приоритетность складов и выводим их остатки в личный кабинет пользователя В статье описывается способ вывода в интернет-магазине остатков на складах с учетом их приоритетности для клиента. Это “почти” стандартные функции связки 1…

24. 04.2023

Поддержка интернет-магазина на Битрикс: добавляем расчёт стоимости доставки в корзине для сайта polstrany.ru Интернет-магазин разработан, контекстная реклама закуплена и вот уже пошли первые заказы – время пить чай и проверять счёт в банке. Так думают только начин…

21.04.2023

Сервис для проведения инспекций на производстве: страница веб-приложения вместо отдельного сайта Как простое single-page-приложение стало лучшим цифровым решением на рынке (по версии ComNews Awards 2022) Кейс из статьи – реальный проект, который ИНТЕР…

20.04.2023

О бедном стажере замолвите слово: автоматическая проверка Академии 1С-Битрикс Суть статьи одним предложением Мы разработали модуль, который проверяет часть практических заданий уроков обучающего курса Академия 1С-Битрикс. Как …

19.04.2023

Личный B2B кабинет для компании Sturm! Как продавать больше на падающем рынке? Статья рассказывает о том, как известный бренд электроинструмента в непростое время обновил официальный сайт и перевел продажи в продвинутый B2B-кабине. ..

13.04.2023

Корпоративный Личный кабинет: как в Битрикс24 организовать работу сотрудников и клиентов аутсорсинговой компании Персонализация – это уже не дань моде, а норма жизни современного человека. Она проявляется в новостной ленте, рекламе, торговых предложениях и даже в орга…

11.04.2023

Как создать электронную торговую площадку — взгляд веб-интегратораК апрелю 2023 года компания ИНТЕРВОЛГА обработала свыше 180 B2B-заявок от торгово-промышленных организаций из разных отраслей. На основании своего опыта, мы мож…

24.03.2023

Как мы заново написали модуль учета рабочего времени сотрудников в среде Битрикс24 для инжинирингового холдинга Задача учета времени работы сотрудников всегда актуальна. Для этой цели разработано много инструментов. Если вы пользуетесь Битрикс24, то наверняка знаете …

23.03.2023

Повышение популярности интернет-магазина за счет качественного SEO Введение В июне 2021 года к нам за услугой поискового продвижения обратился интернет-магазин климатической техники.

У клиента уже была настроена контекстн…

21.03.2023

Запускаем отраслевой маркетплейс: как создать B2B-площадку за 10 шагов В последнее время бизнес-сообщество, работающее в сфере серийного промышленного производства и оптовых продаж, переходит с традиционных коммуникаций (через…

17.03.2023

Плюсы SEO-продвижения для вашего бизнеса Введение Сегодня мы поговорим о плюсах и минусах применения поискового продвижения для улучшения бизнес-показателей компании. Многие считают, что SEO это …

16.03.2023

Правильный учет товаров в 1С с помощью плана видов характеристик В статье рассмотрим, как знание и умение пользоваться объектами конфигурации 1С помогает решить вопросы, связанные с корректным учетом товаров и их свойств…

07.03.2023

Дорожная карта внедрения платформы автоматизации оптовых продаж Про построение эффективных отделов продаж написано много крутых статей. Одни эксперты готовы сделать это за 10 шагов, другие предлагают многоэтапную эволюц…

02.03.2023

SEO-компания, фрилансер или инхаус-специалист — кого выбрать для продвижения сайта Введение У большинства владельцев бизнеса нет времени вникать в тонкости SEO-продвижения, а также возможности сделать это дополнительной обязанностью одно…

16.02.2023

Как начать B2B-продажи онлайн — особенности и методы оптовой торговли После пандемии рынок e-commerce начал стремительно расти. Мы говорим не только о B2C, но и о B2B-сегменте. Многие крупные компании уже разглядели потенциал…

16.02.2023

Парсим 100 000 позиций из каталога поставщика одной кнопкой или интеграция 1С с оптовым поставщиком электротехники В 2022 году в нашу компанию обратился заказчик – поставщик контрольно-измерительных приборов, кабельной продукции, крепежного инструмента и инженерной сант. ..

10.02.2023

Импортозамещение наоборот или как мы сделали и продаем Обратный SMS-шлюз для Twilio + Bitrix24 Мы сделали приложение для глобального рынка, научились его продвигать и продавать и вышли на $1000+ дохода в месяц (самим немного смешно, но на оплату Goog…

10.02.2023

Экономим время HRa и нервы ИТ-дира, внедряя HR-платформу в Битрикс24 Меня зовут Антон Колодницкий, в компании ИНТЕРВОЛГА я руковожу разработкой HR-платформы для Битрикс24. Сегодня расскажу, как мы помогли улучшить процесс ад…

12.01.2023

Tutorial по обмену с 1С. Часть пятая: Наш опыт настройки 1000 и 1 обмена В своей предыдущей статье я начала раскрывать тему того, как правильно настраивать обмен между крупными сайтами и B2B-системами на Битрикс с системами учет…

10.01.2023

Tutorial по обмену с 1С. Часть четвертая: Обмен через промежуточную базу данных В 2022 году на долю маркетплейсов приходится более 65% рынка онлайн-продаж в секторе B2C. На сегодняшний день площадки занимают основную долю рынка электро…

10.01.2023

Tutorial по обмену с 1С. Часть третья: Выжимаем максимум из стандарта. Что мы хотели бы знать 1000 проектов назад Всем привет! Я Дина, ведущий разработчик личных кабинетов и ecom-систем в ИНТЕРВОЛГЕ. Мы не делаем тривиальных проектов. Все что я буду описывать ниже – ун…

10.01.2023

Tutorial по обмену сайта с 1С. Часть вторая: зачем и как писать свой обмен с нуля на очередях и REST API Всем привет! Меня зовут Артем, я старший разработчик в ИНТЕРВОЛГЕ. Наконец дошли руки рассказать про «обмен с 1С с нуля».  Типовой интернет-маг…

10.01.2023

Tutorial по стандартному и нестандартному обмену сайта с 1С. Часть первая: стандартный обмен и его хитрости Имею желание купить дом, но не имею возможности. Имею возможность купить козу, но не имею желания. к/ф «Кавказская пленница» …

10.01.2023

Как битриксоиды в React уходили Приятно познакомиться, мы битриксоиды. Да-да, те самые которые: вообще не модные, пишут НЕ на Laravel и Symfony, …

Битрикс24 и интеграция с Active Directory. Проблемы и решения

Эта статья представляет собой руководство по интеграции локального Битрикс24 с Active Directory и LDAP. Инструменты, необходимые для этой задачи, легко доступны в Битрикс24, но потребуются некоторые дополнительные настройки. Мы также делимся методами настройки и способами решения проблем, которые могут возникнуть во время интеграции. Мы рассмотрим конкретный пример интеграции для одного из наших заказчиков — крупной производственной компании. Есть настроенный контроллер домена и Active Directory со списком пользователей. Задача — импортировать пользователей из Active Directory в Битрикс24, настроить синхронизацию. В on-premise Битрикс24 есть стандартный модуль для этой задачи — «Интеграция AD/LDAP». Перед синхронизацией этот модуль необходимо установить или обновить.

Эта статья представляет собой руководство по интеграции локального Битрикс24 с Active Directory и LDAP.

Интеграция Active Directory и Битрикс24 — распространенная задача. Необходимые для этого инструменты есть в Битрикс24, но требуются дополнительные настройки.

В этой статье мы покажем вам, как реализовать эту задачу, и как решить связанные с ней проблемы.

Рассмотрим конкретный пример:
Наш заказчик – крупная производственная компания. У них есть настроенный контроллер домена и Active Directory со списком пользователей. Они хотят импортировать пользователей из Active Directory в Битрикс24 и настроить синхронизацию.

Для импорта данных из пользовательских полей мы деактивируем эти поля в Битрикс24.

В on-premise Битрикс24 есть стандартный модуль для этой задачи — «Интеграция AD/LDAP». Этот модуль необходимо установить или обновить до начала процесса интеграции.

При настройке Битрикс24 и синхронизации с AD мы поставили автоматическую синхронизацию данных раз в час.
После того, как процесс настройки завершен, мы устанавливаем его один раз в 24 часа, поскольку данные в Active Directory редко меняются.

ПРИМЕЧАНИЕ!
Синхронизация пользователей произойдет только после авторизации пользователя в Битрикс24, т.е. когда пользователь авторизуется в Битрикс24.
Если пользователь еще не авторизовался в Битрикс24, то вам необходимо вручную «Активировать» этого пользователя из панели администратора Битрикс24 для «принудительной» синхронизации.

В противном случае этот пользователь не будет синхронизирован, пока не войдет в Битрикс24.

Модуль AD/LDAP в Битрикс24 также может импортировать структуру компании из Active Directory. Посмотреть эту опцию можно в настройках сервера админки Битрикс24.

Если структура компании в Active Directory неверна или имеет функции, которые не нужны в Битрикс24, то советуем. — не импортировать.

В случае нашего клиента существующая структура компании в Active Directory была неверной, поэтому мы не импортировали ее.
Мы создали 2 новые структуры — одну в Битрикс24, другую в Active Directory.

ПРИМЕЧАНИЕ !
Битрикс24 считает данные Active Directory приоритетными данными .
Так, при наличии разных значений в одном и том же поле данных в Active Directory и Битрикс24, при импорте данных значение в поле Битрикс24 будет заменено значением в Active Directory.

Проблемы интеграции Битрикс24 и Active Directory
  1. Совместная настройка фильтров «Настройка полей -> Пользовательский фильтр» и «Группы -> Группы, отмеченные ниже, не участвуют в импорте пользователей».
  2. Синхронизация времени сервера Active Directory и времени Битрикс24.
  3. Конфликт между двумя копиями одного и того же пользователя.
  4. В Битрикс24 импортируются только Верхние папки в Active Directory
  5. Синхронизация копии имени и фамилии на другом языке.
  6. Перенос больших изображений из Active Directory в Битрикс24.

1. Совместная настройка фильтров «Настройка поля -> Пользовательский фильтр» и «Группы -> Группы, отмеченные ниже, не участвуют в импорте пользователей».

Эти два параметра находятся в конфликте:

Настройка поля -> Пользовательский фильтр:

Группы -> Группы, отмеченные ниже, не участвуют в импорте пользователей:

Настройка обоих полей приводит к конфликту, и пользователи не будут импортированы из Active Directory в Битрикс24.

Решение:
Используйте только фильтр групп пользователей.

Когда активный фильтр из Active Directory был помещен в поле пользовательского фильтра, процесс импорта пользователя начал работать. (&(&(objectClass=user)(objectCategory=PERSON))(memberof=CN=BitrixCorpUser,CN=Builtin,DC=department1,DC=loc))

2. Синхронизация времени сервера Active Directory и времени Битрикс24.

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


Решение:

  1. Измените значение параметра MySQL «explicit_defaults_for_timestamp» на «Выкл.».

  2. Выполнить проверку веб-сайта.

3. Конфликт между двумя копиями одного пользователя.

Если логин и электронная почта пользователя из Active Directory не совпадают с логином того пользователя, который ранее вручную регистрировался в Битрикс24, то в Битрикс24 будет две копии учетной записи для одного и того же человека. Необходимо деактивировать учетную запись Битрикс24, зарегистрированную ранее, и перенести все свои задачи на учетную запись пользователя, импортированную из Active Directory.

Решение:
сделайте пользователя, импортированного из Active Directory, основным пользователем и передайте все текущие задачи этому пользователю, затем запустите «копию».

4. В Битрикс24 импортируются только Верхние папки в Active Directory

Корректная синхронизация была возможна только для верхней папки Active Directory, тогда как вложенные папки игнорировались.

Подпапки были проигнорированы, потому что мы не импортировали структуру компании в Битрикс24. Если структура компании импортирована, синхронизация будет работать и для вложенных папок.
Если структура компании не импортирована, возможна только синхронизация верхних папок.

Решение:
Все пользователи были перенесены в одну папку, и синхронизация производилась из этой папки. Поскольку мы решили не переносить структуру, это было единственное решение.

5. Синхронизация копии имени и фамилии на другом языке.

Так как нашим клиентом была международная компания, то основное имя и фамилия были даны на английском языке. А вот внутри Битрикс24 было бы удобно видеть имена на локальных языках сотрудников — английском, испанском, французском, немецком и т.д.

Решение :
Добавлены и синхронизированы дополнительные Имя (RU) и Фамилия (RU) с использованием атрибутов «ExtensionAttribute1» и «ExtensionAttribute2». Не рекомендуется использовать стандартные поля Битрикс24 для решения этой проблемы, так как они используются в совершенно неожиданных местах. Например, нельзя использовать отчество в качестве стандартного ФИО на русском языке, потому что при синхронизации с iPhone пользователь iPhone стал Иванов Иванов Иван Иванович Иван.

6. Перенос больших изображений из Active Directory в Битрикс24.

Проблема вызвана ограничениями AD. Размер изображения ограничен 95×95 пикселей и не более 100 килобайт.

Решение :
В Active Directory добавлено дополнительное поле jpegPhoto. Размер также ограничен 100 килобайтами, но формат jpg обеспечит максимальное сжатие. Не рекомендуется загружать фотографии размером более 300х300 пикселей, так как Битрикс24 имеет ограничение 300х300 пикселей для вывода фотографий профиля, поэтому фотографии с большим разрешением будут слишком большими.

Соответствие пользовательских полей Битрикс24 и атрибутов Active Directory/LDAP.

Вот некоторые подробности для разработчиков и администраторов:

Используемый метод — $arSyncFields.

В поля Битрикс вставляется следующая информация:

«EMAIL» => Array(«NAME» => GetMessage(«LDAP_FIELD_EMAIIL»), «AD»=>»mail», «LDAP»=>»email»),

На входе в массив, где первый параметр обязательный, это трансляция имени поля, вызываемого функцией GetMessage, второй параметр необязательный – это имя поля из AD, третий параметр необязательный – он имя поля из LDAP. Если поля совпадают, информация копируется из них. Если поле пустое, синхронизации не будет.

Таблица соответствия полей Битрикс24 и Active Directory

Битрикс24

Перевод (RU) /

Идентификатор перевода для функции GetMessage

9 г. н.э.0012

LDAP

Особые возможности

АКТИВНЫЙ

Пользователь активен /

LDAP_FIELD_ACTIVE

UserAccountControl&2

UserAccountControl&2


ЭЛЕКТРОННАЯ ПОЧТА

Электронная почта /

LDAP_FIELD_EMAIIL

почта

электронная почта


ИМЯ

Имя /

LDAP_FIELD_NAME

собственное имя

Сп


ФАМИЛИЯ

Фамилия /

LDAP_FIELD_LAST_NAME

sn

sn


ВТОРОЕ ИМЯ

Отчество /

LDAP_FIELD_SECOND_NAME




PERSONAL_GENDER

Секс /

LDAP_FIELD_GENDER



только М или Ж

PERSONAL_ДЕНЬ РОЖДЕНИЯ

Дата рождения /

LDAP_FIELD_ДЕНЬ РОЖДЕНИЯ



Формат ДОБ — 01. 01.1997 (день.месяц.год)

ЛИЧНАЯ_ПРОФЕССИЯ

Профессия /

LDAP_FIELD_PROF




ЛИЧНОЕ_ФОТО

Фото /

LDAP_FIELD_PHOTO

thumbnailPhoto

jpegФото

Размер изображения — не более 100 килобайт

PERSONAL_WWW

WWW-страница /

LDAP_FIELD_WWW

wWWДомашняя страница



PERSONAL_ICQ

аська (без перевода)




PERSONAL_PHONE

Телефон /

LDAP_FIELD_PHONE

домашний телефон



ЛИЧНЫЙ_ФАКС

Факс /

LDAP_FIELD_FAX




PERSONAL_MOBILE

Мобильный /

LDAP_FIELD_MOB

мобильный



PERSONAL_PAGER

Пейджер /

LDAP_FIELD_PAGER




PERSONAL_STREET

Улица, дом /

LDAP_FIELD_STREET

адрес улицы



PERSONAL_MAILBOX

Почтовый ящик /

LDAP_FIELD_MAILBOX

почтовый ящик



PERSONAL_CITY

Город /

LDAP_FIELD_CITY

л



PERSONAL_STATE

Регион / Территория /

LDAP_FIELD_STATE

ул.



PERSONAL_ZIP

Почтовый индекс /

LDAP_FIELD_ZIP

Почтовый индекс



PERSONAL_COUNTRY

Страна /

LDAP_FIELD_COUNTRY

с



WORK_COMPANY

Название компании /

LDAP_FIELD_COMPANY

компания



WORK_DEPARTMENT

Подразделение / Департамент /

LDAP_FIELD_DEP

отделение



ЗАНИМАЕМАЯ ДОЛЖНОСТЬ

Позиция /

LDAP_FIELD_POS

заголовок



РАБОЧИЙ ТЕЛЕФОН

Телефон /

LDAP_FIELD_WORK_PHONE

номер телефона



WORK_FAX

Факс /

LDAP_FIELD_WORK_FAX

факсТелефонномер



WORK_PAGER

Пейджер /

LDAP_FIELD_WORK_PAGER




ADMIN_NOTES

Примечания администратора /

LDAP_FIELD_ADMIN_NOTES

описание



Наши выводы по интеграции Active Directory и Битрикс24

Эта интеграция является важным процессом для крупных компаний.

Интегрировать и синхронизировать Битрикс24 и Active Directory вполне возможно.

Необходимые для задачи инструменты есть в Битрикс24, но требует дополнительных настроек, а иногда и доработок.

В документации недостаточно информации, поэтому вашему интегратору придется изучать проблемы по мере их возникновения и настраивать множество параметров (Пользовательский фильтр, Соответствие пользовательских полей и атрибутов LDAP, Фильтр для групп пользователей, Корень дерева (базовое DN) ).

Корректная работа функционала синхронизации базового модуля обеспечивается только при установке на новый Битрикс24. При его установке на Битрикс24, в котором уже есть ранее приглашенные пользователи, может возникнуть масса проблем. Их можно решить, но лучше их избегать.

ИНТЕРВОЛГА рекомендует интегрировать Битрикс24 с Active Directory при первой настройке Битрикс24.

Мы успешно интегрировали Active Directory с Битрикс24 к удовлетворению наших клиентов.

Если вам необходимо настроить интеграцию Битрикс24 и Active Directory, мы будем рады вам помочь.

Отправьте нам сообщение!


Ошибка интеграции Битрикс24 | Форум 3CX

Статус
Закрыто для дальнейших ответов.