Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Формы поиска». Вы узнаете экспертные методики работы с формы поиска и научитесь избегать типичных ошибок начинающих разработчиков.
Формы поиска
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
Такие блоки содержат форму со строкой поиска и кнопкой отправки данных на страницу результатов поиска.
Минимальные условия корректного функционирования такого блока:
1. Наличие тега <form>, строки ввода запроса <input>, кнопки отправки данных.
2. Наличие атрибута для селектора <form>.
'attrs' => [
'.landing-block-node-form' => [
'name' => 'Search result page',
'attribute' => 'action',
'type' => 'url',
'allowedTypes' => [
'landing',
],
'disableCustomURL' => true,
'disallowType' => true,
'disableBlocks' => true
]
]3. По желанию к описанию блока можно добавить subtype и subtype_params. В таком случае в атрибут Search result page (см. п.2) будет подставлена страница при добавлении блока (что удобно для пользователя):
'block' => [
'name' => Loc::getMessage('LANDING_BLOCK_59_2-NAME'),
'section' => array('sidebar', 'other'),
'subtype' => 'search',
'subtype_params' => [
'type' => 'form',
'resultPage' => 'result'
]
],Где result код шаблона страницы результатов поиска. Если такая страница будет найдена на сайте, она добавится автоматически.
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Формы поиска»:
Использование современных стандартов D7 при работе с формы поиска позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru