Пишу заметки, преимущественно для себя, но стараюсь описывать все более менее подробно и с примерами. Если что-то не получается или не нашлось заметки под вашу задачу, создайте тему на форуме отвечаю по возможности.
Инструкции и заметки по 1С-Битрикс
-
Нейросетевой поиск для 1С-Битрикс, умный поиск с исправлением ошибок
Модуль для 1С-Битрикс, который понимает запросы покупателей на естественном языке. Напишите "легкое летнее платье в горошеr" и получите имен...
-
MCP сервер для 1С-Битрикс: ИИ с API Битрикса
Короче, достало постоянно лазить в документацию dev.1c-bitrix.ru в поисках сигнатуры метода или названия класса. Сидишь, пишешь код. Открываешь браузе...
-
Highload-блоки в 1С-Битрикс: создание, поля, работа через API
Highload-блоки (они же HL-блоки) - штука удобная, когда нужно хранить справочные данные: бренды, цвета, города, валюты, курсы и прочую мелкую,...
-
Ajax сортировка товаров в каталоге
Задача: реализовать Ajax-сортировку в каталоге товаров с запоминанием в cookie.
-
Получить заказы с корзинами, свойствами, доставками и оплатами через getList-ы
Задача: получить заказы со всеми дополнительными данными: корзинами, свойствами, доставками и оплатами- через getLis-ы, для контроля получаемых данны...
-
Оптимизация OPcache PHP для 1С-Битрикс
Задача: выжать максимум из PHP на боевом Битрикс-проекте. Битрикс сам по себе тяжелый - большое ядро, много файлов, агрессивное использование include...
-
Работа с заказами на D7
Задача: изучить работу с заказами в новом API Битрикс D7, получение данных заказа, работа со свойствами, оплатами и отгрузками
-
Получить все доступные службы доставки вместе с дополнительными услугами
Задача: получить и вывести на странице все доступные в системе службы доставки, также нужно получить все дополнительные услуги, созданные в службе дос...
-
Следующий и предыдущий элемент с картинкой и текстом анонса при просмотре детальной страницы
Задача: при просмотре детальной страницы элемента (новости, статьи, товара каталога - не важно) нужно показать превью следующего и предыдущего...
-
Как ускорить AJAX и служебные страницы в Битриксе с помощью define()
В Битриксе очень легко сделать страницу, которая просто отдаёт JSON, и так же легко случайно запускает половину ядра ради одного поля из базы. Это не ...
-
GetNextElement() или GetNext() — какой метод выбрать при работе с инфоблоками
При разработке на 1С-Битрикс один из частых вопросов — какой метод использовать для обхода результатов выборки из инфоблока: GetNext() или Get...
-
Показ контента любой страницы сайта во всплывающем окне (быстрый просмотр)
Задача: при клике на кнопку показывать попап-окно или выдвигающуюся панель с загрузкой в неё нужной страницы сайта и вырезанием контента заданного бло...
-
Вставка произвольного свойства в текст новости через макрос
Задача: дать контент-менеджерам возможность вставлять содержимое любого свойства прямо в текст статьи/новости. Расскажу на примере "привязка к эл...
-
Самостоятельное удаление аккаунта пользователя в Bitrix
Задача: дать пользователю возможность удалить свою учетную запись на сайте. При этом будут заархивированы и все заказы пользователя
-
Использование $APPLICATION->RestartBuffer() в связке с AJAX-запросами
Часто возникает необходимость управлять выводом данных на страницу, особенно когда речь идет о взаимодействии с AJAX-запросами. Один из полезных мето...
-
Смена группы пользователя по информации из 1С для переключения типа цены
На сайте созданы две группы пользователей с доступом к разным типам цен: «Розничный покупатель» и «Оптовый покупатель». Принадлежность к оптовым покуп...
-
Массово изменить коэффициент единицы измерения в каталоге
Задача: всем товарам каталога или товарам определённого раздела изменить коэффициент единицы измерения.
-
Вывести изображения из свойства "Цвет" (HL блок) в дополнительных картинках торговых предложений
Задача: в SKU, у которых есть свойство "Цвет" нужно вывести картинку цвета в дополнительные фотографии и в слайдер. Цвет хранится в Highload-блоке, к...
-
Произвольные ссылки в элементе из свойства инфоблока
Задача: предоставить контент-менеджерам возможность добавлять произвольные ссылки внутри карточки товара. Управление ссылками осуществляется через сво...
-
Вывести торговые предложения (SKU) как простые товары в каталоге, с учетом раздела.
Задача: Отобразить SKU товаров в каталоге как простые товары, учитывая текущий раздел. Необходимо вывести все торговые предложения (варианты, комп...
-
Оплата заказа с внутреннего счета только за товары, без учета стоимости доставки
Задача: В магазине реализован внутренний счет (бонусный счет) для покупателей. Необходимо, чтобы при оплате заказа бонусами учитывалась только...
-
Получение токена доступа API Firebase (HTTP v1) с помощью PHP для отправки push-уведомлений.
До июня 2024 года API Firebase использовал постоянный токен доступа, который можно было получить один раз в консоли. Однако с теперь необходимо запраш...
-
Заменить popap "Товар добавлен в корзину" на собственное окно
Задача: заменить модальное окно, которое появляется при добавлении товара в корзину — "Товар добавлен в корзину". Сделать его удобнее для по...
-
Автоматический повтор заказа на D7 со списанием с внутреннего счета
На сайте товары и услуги доступны по подписке, пользователи пополняют внутренний счёт, после чего происходит автоматическое дублирование заказа с зад...
-
Локальный Copilot в PhpStorm / VSCode, с помощью Continue. Свой, бесплатный Cursor
Это краткий план-черновик для видео (само видео ниже). В нем рассказывается о том, как запустить локальную ИИ модель и подключить её к проекту...
-
События вызываемые при сохранении заказа, в 1С-Битрикс
Иногда необходимо выполнить определенные действия с заказом при его изменении. Для этого можно использовать события OnSaleOrderBeforeSaved и OnSaleOr...
-
GIT-репозиторий на собственном сервере с веб-интерфейсом: Gitea - аналог GitHub
Задача: Развернуть git-репозиторий на собственном сервере с помощью Gitea — для ведения проектов, с веб-интерфейсом и поддержкой многопользовательской...
-
Как добавить режим редактирования элементов в собственном компоненте Битрикс
Задача: добавить режим редактирования и удаления элементов в собственном компоненте.
-
ORM: получение информации о разделах инфоблока на D7, использование Bitrix\Iblock\SectionTable и пользовательских полей
Задача: При работе с инфоблоками в Битрикс, часто возникает необходимость получать данные о разделах. Для этих целей можно использовать класс Bitrix\I...
-
Как получить свойства заказа в 1С-Битрикс: старые методы и современный API D7
Задача: Получить все доступные свойства заказа для всех активных типов плательщика из модуля магазина.
-
Менеджер событий (EventManager) в 1C-Битрикс
Менеджер событий (EventManager) — это централизованный механизм регистрации, обработки и управления событиями. Он обеспечивает гибкость и удоб...
-
Установка счетчика Яндекс.Метрики на сайт с Content Security Policy (CSP)
Если на вашем сайте не отображаются данные о кликах и скроллинге в Яндекс.Метрике, вероятнее всего, это связано с настройками Content Security Policy ...
-
ORM в инфоблоках, получение информации об элементах инфоблока на D7
Задача: собрать полные данные об элементах инфоблока, применяя ORM/D7, который пришел на смену устаревшему CIBlockElement::GetList.
-
Ссылка на товары бренда в каталоге с автоматическим применением умного фильтра
Задача: вывести товары на странице бренда, выведенного компонентом "Новости", с ссылками на разделы в каталоге с применением умного фильтра...
-
Не дать купить товара больше, чем находится на определенных складах
Задача: в магазине 20 складов, на всех есть остатки но нужно ограничить покупку товара только остатками на двух складах, не меняя параметр "Доступное ...
-
Запретить оплату с внутреннего счета, если в корзине есть определенный товар
Задача: пользователи могут оплачивать заказы с бонусного счета (штатный внутренний счет), но если в корзине есть определенные товар...
-
Бонус на внутренний счет пользователя по информации из 1С
Задача: 1С-Предприятие каждый день выгружает HL справочник на сайт с количеством бонусов контрагента в виде "XML-ID контрагента = Количество бону...
-
Показать пользователей онлайн на странице сайта
Задача: показать на странице сайта пользователей которые сейчас находятся на сайте. Используется штатный модуль "Веб-аналитика" - должен быт...
-
Добавить СЕО-метатеги в результаты поиска по каталогу
Задача: на странице с результатами поиска по каталогу нужно установить уникальные метатеги: keywords, description, canonical и заголовок страницы.
-
ORM: Работа с пользователями через API D7 1С-Битрикс
Заметка написана на основе старого черновика, и все описанное было проверено на чистой установке 1С-Битрикс. Примеры работают корректно. Плюс, данная ...
-
Работа с HTTP-запросами: Обзор возможностей класса \Bitrix\Main\HttpRequest
Класс \Bitrix\Main\HttpRequest, является наследником класса Request, представляет собой мощный инструмент для работы с данными, отправляемыми на серве...
-
Создание агента в 1С-Битрикс, на реальном примере
Задача: Каждый час нужно обновлять свойство элементов/товаров с типом строка "В наличии", вписывать в него либо "Да" либо "Не...
-
Заполнить свойство заказа выбранным пунктом самовывоза и передать в 1С
Задача: При оформлении заказа пользователь может выбрать пункт самовывоза (склады магазина). Нужно заполнить свойство заказа адресом пункта и ...
-
СЕО настройки сайта перед запуском
В видео рассказано о первоначальной СЕО настройке сайта перед запуском. Все показанное является компилицией из собственного опыта взаимодействия с СЕО...
-
Номера страниц в Title и Description при постраничной навигации каталога
Задача: Часто SEO-специалисты просят добавить номер страницы, из постраничной навигации, в заголовок и описание раздела каталога. По найденным инструк...
-
Заполнить инфоблок брендов из свойства инфоблока с товарами
Задача: в интернет-магазине есть инфоблок с товарами, загружаемый из 1С, у которого заполнено свойство "Производитель" и оно является списко...
-
CRM Битрикс-24 на веб-окружении под Ubuntu 24.04, c поддержкой PUSH и многосайтовости
Задача: Так как с 30 июня 2024 года операционная система CentOS-7 полностью снята с поддержки и не будет получать обновлений безопасности, принято реш...
-
Удалить половину элементов инфоблока с помощью API
Задача: вот такая странная задача, нужно удалить из инфоблока половину элементов. Не важно каких, просто половину элементов.
-
Удаление недоступных для заказа товаров из корзины
Задача: пользователи магазина могу наполнять корзины, но не доходить до оформления заказа. Такие корзины считаются брошенными. Но, пользователь может ...
-
Удалить все картинки элементов инфоблока: анонс, детальную и дополнительные картинки (MORE_PHOTO)
Задача: В инфоблоке 10 000 элементов, нужно удалить картинки анонса, детальные и дополнительные картинки из свойства MORE_PHOTO. Так как элементов мно...
-
Заполнение множественного пользовательского свойства типа "строка" через API
Задача: когда пользователь заходит в мобильное приложение, нужно сохранить FCM токен устройства в пользовательское поле "Токены устройств". ...
-
Input Type File, множественный с дропзоной и показом превью
Задача: Сделать возможность загрузки файлов в множественный input type="file" c помощью drag&drop и показом превью загруженных файлов.
-
Обновить страницу Inapbrowser в приложении Apache Cordova, при выходе из фона
Задача: Мобильное приложение, созданное на Apache Cordova должно перезагрузить текущую страницу, открытую с помощью плагина inappbrowser.
-
Фильтрация разделов каталога с помощью умного фильтра
Задача: В каталоге выводится умный фильтр, нужно сделать так чтобы он применялся не только к товарам но и к компоненту "Список разделов" ...
-
Переключатель валюты в каталоге 1С-Битрикс
Задача: Дать пользователю возможность самостоятельно выбирать валюту, в которой он хочет видеть цены, в разделе каталога интернет-магазина.
-
Обновление 1С-Битрикс с PHP 7, до поддержки версии PHP 8.3
Задача: обновить устаревший сайт на платформе 1С-Битрикс, который не получал обновлений уже более 4 лет и работает на PHP 7.1.
-
Получение SEO данных элементов и разделов инфоблока, через API 1С-Битрикс
Для того чтобы извлечь данные из вкладки SEO административной панели Битрикс, необходимо использовать специализированные классы для работы с наследуем...
-
Повторить заказ на API 1С-Битрикс наполнив корзину из заказа
Задача: заполнить корзину пользователя теми же товарами и количествами которые были в ранее созданном заказе. При этом нужно очистить корзину от товар...
-
Получить цены товаров с помощью D7-ORM в 1С-Битрикс
Веб-разработка часто требует работы с базой данных для получения и обработки информации о товарах, в том числе и их цен. В 1С-Битрикс это можно сдела...
-
Установка поиска Sphinx на Ubuntu 22.04 для 1С-Битрикс
Задача: установить и сконфигурировать поиск Sphinx под управлением Ubuntu 22.04 и панели управления HestiaCP для использования с 1С-Битрикс
-
Удаление товара из корзины по кнопке "минус" если остался 1 товар
Задача: когда в корзине осталась одна единица товара, нужно удалять товар по нажатию на кнопку "минус". Оставив возможность восстановления т...
-
Выбор основного раздела для элемента инфоблока в 1С-Битрикс
Проблема: при привязке элемента инфоблока к нескольким разделам возникают дубли его детальной страницы, в зависимости от раздела, из которого был осущ...
-
Показать выбранные параметры умного фильтра над товарами, с возможностью отмены выбора
Задача: При выборе параметров товаров в умном фильтре показать выбранные параметры из чекбоксов в виде кнопок и предоставить возможность отмены выбора...
-
Настройка push уведомлений через Firebase в приложении Apache Cordova
Задача: Apache Cordova предоставляет удобный способ разработки кроссплатформенных мобильных приложений. В данной статье расскажу, как настроить отправ...
-
Кастомизация поля input type file, свой внешний вид
Задача: Поле input type="file" предоставляет возможность загрузки файлов на веб-странице. Однако стандартный вид этого элемента не всегда со...
-
CAPTCHA с возможностью обновления без перезагрузки страницы в 1C-Битрикс
Задача: Так как стандартная капча в 1С-Битрикс, может отобразиться не удачно (символы уходят за грань капчи или не удачно накладываются друг на др...
-
Цвета из справочника Highload блоков в списке новостей
На сайте выводятся новости с помощью компонента news.list, при этом у новостей есть свойство "Цвета" типа "Cправочник" с привязкой...
-
Настройка: Redis кеширование для 1С-Битрикс, под Ubuntu
Задача: имеем полностью настроенный и оптимально сконфигурированный веб-сервер под управлением Ubuntu 20.04 на котором запущен интернет магазин c 1С-Б...
-
Получить список элементов инфоблока с ценами с помощью D7
Задача: использовать D7 в 1С-Битрикс для получения списка элементов инфоблока вместе с их ценами. Это может быть полезно, например, если вам необходим...
-
Получение списка Highload блоков с помощью API Битрикс
1С-Битрикс предоставляет мощный инструментарий для обеспечения эффективной работы ваших проектов. Одним из способов управления Highload блоками в Битр...
-
Отсортировать предложения по цене в каталоге 1С-Битрикс
Задача: в 1С-Битрикс есть настройка для вывода предложений по стоимости, но она не функционирует должным образом. Необходимо правильно отсортировать п...
-
E-mail вместо логина при регистрации и оформлении заказа в 1C-Битрикс
Задача: при регистрации нового пользователя и оформлении заказа нужно убрать поле Логин и использовать электронную почту вместо него. При этом без зах...
-
Информация о службе доставки по ее ID, в 1С-Битрикс
Задача: зная ID службы доставки получить необходимую информацию о ней, с помощью API 1С-Битрикс
-
Автоматическое создание подразделов в инфоблоке при добавлении раздела: реализация события OnAfterIBlockSectionAdd
Задача: когда контент-менеджер создает раздел в инфоблоке, необходимо автоматически создавать подразделы с заранее заданными названиями.
-
Получить и вывести все цены товара в 1С-Битрикс
Задача: получить и вывести все цены товара по его ID в каталоге 1С-Битрикс (например, в детальной карточке catalog.element), независимо от тог...
-
Вывести товары в каталоге перебрав их по свойству и разделив на секции.
Задача: В каталоге, у товаров, есть свойство типа список с названием "Тип изделия" и кодом "TIP_IZDELIYA". В значения свойства вне...
-
Получить и вывести данные из профиля покупателя в кабинете пользователя 1С-Битрикс
Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте sale.personal.profile.list без перехода в детальное описание/ре...
-
Добавление не существующего товара в корзину и заказ, 1С-Битрикс
Задача: нужно добавить в корзину товар, которого не существует в каталоге, с возможностью задать ему произвольные название и цену.
-
Показать доступный остаток каждого товара в корзине 1С-Битрикс
Задача: показать остаток каждого товара в корзине 1С-Битрикс, что бы покупатель сразу знал предельное колличество товара для покупки.
-
Уникальная СЕО информация для каждого торгового предложения в каталоге 1С-Битрикс
Задача: реализовать уникальную мета-информацию для каждого SKU в каталоге. У каждого ТП должны быть свои: заголовок h1, ключевые слова, описание стран...
-
Кнопка для отправки на печать карточки товара, без лишних данных
Задача: реализовать возможность печати карточки товара, но так что бы в ней не было не нужных данных: шапки и футера сайта, кнопок покупки и прочих да...
-
Сортировать товары по названию, цене и свойствам в каталоге 1С-Битрикс
Задача: реализовать возможность сортировки товаров в разделах каталога. Сортировка должна работать с использованием AJAX. В качестве параметров сортир...
-
Уникальный URL для торговых предложений (SKU) с возможностью автоматического выбора предложения при переходе по ссылке.
Задача: на странице товара необходимо реализовать функцию автоматического изменения URL при выборе определенной товарной позиции без перезагрузки стра...
-
Удалить всех пользователей которые не делали заказов в магазине 1С-Битрикс
Задача: сайт проработал 7 лет и все время на нем была открытая регистрация, создано много мертвых учетных записей (боты, просто фантомные регистра...
-
Прямое открытие мессенджеров по ссылке из приложения Apache Cordova
Задача: При клике по ссылкам на Telegram и WhatsApp в мобильном приложении необходимо сразу открывать мессенджеры без промежуточного открытия системно...
-
Обновление цен и остатков из текстового файла, в каталоге 1C-Битрикс.
Задача: прочитать txt-файл с ценами и остатками, который выгружает программа учета по FTP, и обновить эти данные в каталоге. Скрипт должен автоматичес...
-
Fancybox в стандартном шаблоне детальной карточки товара, 1С-Битрикс, вместо всплывающего окна и лупы.
Задача: заменить работу с изображениями в стандартном или кастомном шаблоне детальной карточки (catalog.element) 1С-Битрикс, с "всплывающ...
-
Запретить указание количества товаров, добавляемого в корзину, в определенных разделах каталога.
Задача состоит в том, чтобы запретить указание количества товара, добавляемого в корзину, в определенных разделах каталога. По умолчанию указание коли...
-
Создание локальных уведомлений для приложения на Apache Cordova
Задача состоит в том, чтобы реализовать возможность локальных уведомлений в приложении на Apache Cordova без использования push-серверов и других внеш...
-
Быстрая отписка от всех рассылок модуля "E-mail маркетинг", в кабинете пользователя
Задача: дать пользователям возможность отписаться от всех рассылок "E-mail маркетинга", не только по ссылке из письма, но и в персональном р...