Добрый день, уважаемые разработчики.
Одно время мне очень пригодилась при создании собственных модулей функция $GLOBALS["DB"]->RunSQLBatch(); Но последнее время мне больше нравится работать с highload-блоками, поскольку CMS сразу предоставляет удобный интерфейс работы с собственными таблицами базы данных. Битрикс предлагает широкий выбор “привязок” пользовательских полей (по типу) к другим таблицам, типам данных (USER_TYPE_ID):
enumeration - Список
double - Число
integer - Целое число
boolean - Да/Нет
string - Строка
file - Файл
video - Видео
iblock_section - Привязка к разделам инф. блоков
iblock_element - Привязка к элементам инф. блоков
string_formatted - Шаблон
crm - Привязка к элементам CRM
crm_status - Привязка к справочникам CRM
address - Адрес
resourcebooking - Бронирование ресурсов
date - Дата
datetime - Дата со временем
money - Деньги
vote - Опрос
mail_message - Письмо (email)
hlblock - Привязка к элементам highload-блоков
url_preview - Содержимое ссылки
url — Ссылка
Довольно широкий выбор!
Было бы неплохо еще добавить привязку к пользователю, типу цен, службам доставки, платежным системам… Это очень удобно, когда ты создаешь собственную таблицу, а CMS предоставляет готовый интерфейс для работы с этой таблице пользователю.
Про индексацию поиском хл-блоков думали, но тут главная проблема, что непонятно что считать детальной страницей элемента. В хл-блоках отсутствует даже понятие заголовка элемента (что важно для поиска) - заголовком может быть любое поле, или не быть им вовсе.
Это все конечно решается выведением хл-блоков в ряд к инфоблокам, но такое не планируется.