Пишу заметки, преимущественно для себя, но стараюсь описывать все более менее подробно и с примерами. Если что-то не получается или не нашлось заметки под вашу задачу, создайте тему на форуме отвечаю по возможности.
Инструкции и заметки по 1С-Битрикс
Задача: изучить работу с заказами в новом API Битрикс D7, получение данных заказа, работа со свойствами, оплатами и отгрузками
Задача: получить и вывести на странице все доступные в системе службы доставки, также нужно получить все дополнительные услуги, созданные в службе доставки
Задача: при просмотре детальной страницы элемента (новости, статьи, товара каталога - не важно) нужно показать превью следующего и предыдущего элемента инфоблока
В Битриксе очень легко сделать страницу, которая просто отдаёт JSON, и так же легко случайно запускает половину ядра ради одного поля из базы. Это не только замедляет работу, но и создаёт лишнюю нагрузку на сервер.
При разработке на 1С-Битрикс один из частых вопросов — какой метод использовать для обхода результатов выборки из инфоблока: GetNext() или GetNextElement()?
Задача: при клике на кнопку показывать попап-окно или выдвигающуюся панель с загрузкой в неё нужной страницы сайта и вырезанием контента заданного блока.
Задача: дать контент-менеджерам возможность вставлять содержимое любого свойства прямо в текст статьи/новости. Расскажу на примере "привязка к элементам инфоблока", чтобы прямо в текст можно было вставлять связанные со статьей товары.
Задача: дать пользователю возможность удалить свою учетную запись на сайте. При этом будут заархивированы и все заказы пользователя
Часто возникает необходимость управлять выводом данных на страницу, особенно когда речь идет о взаимодействии с AJAX-запросами. Один из полезных методов для этого — $APPLICATION->RestartBuffer().
На сайте созданы две группы пользователей с доступом к разным типам цен: «Розничный покупатель» и «Оптовый покупатель». Принадлежность к оптовым покупателям может постоянно меняться; необходимо изменять группу пользователя по информации из 1С:УТ.
Задача: всем товарам каталога или товарам определённого раздела изменить коэффициент единицы измерения.
Задача: в SKU, у которых есть свойство "Цвет" нужно вывести картинку цвета в дополнительные фотографии и в слайдер. Цвет хранится в Highload-блоке, каждому цвету соответствует изображение файла (например, фото цвета или образца).
Задача: предоставить контент-менеджерам возможность добавлять произвольные ссылки внутри карточки товара. Управление ссылками осуществляется через свойства инфоблока.
Задача: Отобразить SKU товаров в каталоге как простые товары, учитывая текущий раздел. Необходимо вывести все торговые предложения (варианты, комплектации) для товаров, находящихся в текущем разделе каталога.
Задача: В магазине реализован внутренний счет (бонусный счет) для покупателей. Необходимо, чтобы при оплате заказа бонусами учитывалась только стоимость товаров, а стоимость доставки не входила в сумму оплаты с внутреннего счета.
До июня 2024 года API Firebase использовал постоянный токен доступа, который можно было получить один раз в консоли. Однако с теперь необходимо запрашивать новый токен каждый час. Такой подход повышает безопасность и защищает от возможной компрометации ключей.
Задача: заменить модальное окно, которое появляется при добавлении товара в корзину — "Товар добавлен в корзину". Сделать его удобнее для покупателя.
На сайте товары и услуги доступны по подписке, пользователи пополняют внутренний счёт, после чего происходит автоматическое дублирование заказа с заданной периодичностью и списание средств с баланса. Примеры использования:
Это краткий план-черновик для видео (само видео ниже). В нем рассказывается о том, как запустить локальную ИИ модель и подключить её к проекту в IDE PhpStorm. Возможно, позже я приведу этот материал в более удобочитаемый вид.
Иногда необходимо выполнить определенные действия с заказом при его изменении. Для этого можно использовать события OnSaleOrderBeforeSaved и OnSaleOrderSaved.
Задача: Развернуть git-репозиторий на собственном сервере с помощью Gitea — для ведения проектов, с веб-интерфейсом и поддержкой многопользовательской работы.
Задача: добавить режим редактирования и удаления элементов в собственном компоненте.
Задача: При работе с инфоблоками в Битрикс, часто возникает необходимость получать данные о разделах. Для этих целей можно использовать класс Bitrix\Iblock\SectionTable. Рассмотрим базовое использование этого класса, а также способ получения пользовательских полей разделов.
Задача: Получить все доступные свойства заказа для всех активных типов плательщика из модуля магазина.
Менеджер событий (EventManager) — это централизованный механизм регистрации, обработки и управления событиями. Он обеспечивает гибкость и удобство работы с событиями в рамках D7 API.
Если на вашем сайте не отображаются данные о кликах и скроллинге в Яндекс.Метрике, вероятнее всего, это связано с настройками Content Security Policy (CSP). Ошибка возникает из-за того, что скрипт Яндекс.Метрики загружается динамически, и если политика CSP не позволяет это делать, то скрипт ...
Задача: собрать полные данные об элементах инфоблока, применяя ORM/D7, который пришел на смену устаревшему CIBlockElement::GetList.
Задача: вывести товары на странице бренда, выведенного компонентом "Новости", с ссылками на разделы в каталоге с применением умного фильтра.
Задача: в магазине 20 складов, на всех есть остатки но нужно ограничить покупку товара только остатками на двух складах, не меняя параметр "Доступное количество" и не включая складской учет.
Задача: пользователи могут оплачивать заказы с бонусного счета (штатный внутренний счет), но если в корзине есть определенные товары - то в этом заказе нужно запретить оплату бонусами.
Задача: 1С-Предприятие каждый день выгружает HL справочник на сайт с количеством бонусов контрагента в виде "XML-ID контрагента = Количество бонусов" Нужно копировать бонусы на внутренний счет пользователя, для возможности дальнейшей оплаты заказов.
Задача: показать на странице сайта пользователей которые сейчас находятся на сайте. Используется штатный модуль "Веб-аналитика" - должен быть установлен.
Задача: на странице с результатами поиска по каталогу нужно установить уникальные метатеги: keywords, description, canonical и заголовок страницы.
Заметка написана на основе старого черновика, и все описанное было проверено на чистой установке 1С-Битрикс. Примеры работают корректно. Плюс, данная статья будет периодически дополняться.
Класс \Bitrix\Main\HttpRequest, является наследником класса Request, представляет собой мощный инструмент для работы с данными, отправляемыми на сервер, а также с настройками сервера и другими аспектами запроса. В Bitrix часто возникает необходимость обработки данных, полученных из форм, URL-парамет...
Задача: Каждый час нужно обновлять свойство элементов/товаров с типом строка "В наличии", вписывать в него либо "Да" либо "Нет" - согласно наличию товара на двух складах. Далее свойство используется в умном фильтре при выводе каталога.
Задача: При оформлении заказа пользователь может выбрать пункт самовывоза (склады магазина). Нужно заполнить свойство заказа адресом пункта и передать в 1С-Предприятие.
В видео рассказано о первоначальной СЕО настройке сайта перед запуском. Все показанное является компилицией из собственного опыта взаимодействия с СЕО специалистами.
Задача: Часто SEO-специалисты просят добавить номер страницы, из постраничной навигации, в заголовок и описание раздела каталога. По найденным инструкциям в интернете, все предлагают сделать это через init.php. Рассмотрим вариант без него.
Задача: в интернет-магазине есть инфоблок с товарами, загружаемый из 1С, у которого заполнено свойство "Производитель" и оно является списком. Нужно заполнить отдельный инфоблок этими производителями, чтобы не наполнять его вручную.
Задача: Так как с 30 июня 2024 года операционная система CentOS-7 полностью снята с поддержки и не будет получать обновлений безопасности, принято решение создать аналог "Битрикс веб окружение" на Ubuntu 24.04
Задача: вот такая странная задача, нужно удалить из инфоблока половину элементов. Не важно каких, просто половину элементов.
Задача: пользователи магазина могу наполнять корзины, но не доходить до оформления заказа. Такие корзины считаются брошенными. Но, пользователь может вернуться к оформлению через несколько дней и некоторые товары (ранее добавленные в корзину) могут быть сняты с продажи. Однако, такую корзину...
Задача: В инфоблоке 10 000 элементов, нужно удалить картинки анонса, детальные и дополнительные картинки из свойства MORE_PHOTO. Так как элементов много, скорее всего упремся в лимиты таймаутов сервера, по этому нужно сделать это пошагово.
Задача: когда пользователь заходит в мобильное приложение, нужно сохранить FCM токен устройства в пользовательское поле "Токены устройств". Поле является множественной строкой - так как у пользователя может быть не одно устройство.
Задача: Сделать возможность загрузки файлов в множественный input type="file" c помощью drag&drop и показом превью загруженных файлов.
Задача: Мобильное приложение, созданное на Apache Cordova должно перезагрузить текущую страницу, открытую с помощью плагина inappbrowser.
Задача: В каталоге выводится умный фильтр, нужно сделать так чтобы он применялся не только к товарам но и к компоненту "Список разделов" (catalog.section.list), что бы оставались только подразделы в которых содержатся найденные товары.
Задача: Дать пользователю возможность самостоятельно выбирать валюту, в которой он хочет видеть цены, в разделе каталога интернет-магазина.
Задача: обновить устаревший сайт на платформе 1С-Битрикс, который не получал обновлений уже более 4 лет и работает на PHP 7.1.
Для того чтобы извлечь данные из вкладки SEO административной панели Битрикс, необходимо использовать специализированные классы для работы с наследуемыми свойствами элементов и разделов инфоблока.
Задача: заполнить корзину пользователя теми же товарами и количествами которые были в ранее созданном заказе. При этом нужно очистить корзину от товаров которые в ней уже имеются
Веб-разработка часто требует работы с базой данных для получения и обработки информации о товарах, в том числе и их цен. В 1С-Битрикс это можно сделать с помощью Object-Relational Mapping (ORM) и соответствующих классов.
Задача: установить и сконфигурировать поиск Sphinx под управлением Ubuntu 22.04 и панели управления HestiaCP для использования с 1С-Битрикс
Задача: когда в корзине осталась одна единица товара, нужно удалять товар по нажатию на кнопку "минус". Оставив возможность восстановления товара.
Проблема: при привязке элемента инфоблока к нескольким разделам возникают дубли его детальной страницы, в зависимости от раздела, из которого был осуществлен переход.
Задача: При выборе параметров товаров в умном фильтре показать выбранные параметры из чекбоксов в виде кнопок и предоставить возможность отмены выбора, кликая по этим кнопкам.
Задача: Apache Cordova предоставляет удобный способ разработки кроссплатформенных мобильных приложений. В данной статье расскажу, как настроить отправку push уведомлений на платформах iOS и Android с использованием Firebase.
Задача: Поле input type="file" предоставляет возможность загрузки файлов на веб-странице. Однако стандартный вид этого элемента не всегда соответствует дизайну сайта. В данной статье мы рассмотрим методы кастомизации этого поля с использованием CSS и JavaScript.
Задача: Так как стандартная капча в 1С-Битрикс, может отобразиться не удачно (символы уходят за грань капчи или не удачно накладываются друг на друга), нужно дать пользователю возможность обновить ее, без перезагрузки страницы.
На сайте выводятся новости с помощью компонента news.list, при этом у новостей есть свойство "Цвета" типа "Cправочник" с привязкой к Hl-блокам. Нужно вывести выбранные цвета в списке новостей, для каждого элемента
Задача: имеем полностью настроенный и оптимально сконфигурированный веб-сервер под управлением Ubuntu 20.04 на котором запущен интернет магазин c 1С-Битрикс. Нужно настроить хранение кеша в Redis хранилище (инструкция совместима и с Debian).
Задача: использовать D7 в 1С-Битрикс для получения списка элементов инфоблока вместе с их ценами. Это может быть полезно, например, если вам необходимо создать каталог товаров с динамически обновляемыми ценами.
1С-Битрикс предоставляет мощный инструментарий для обеспечения эффективной работы ваших проектов. Одним из способов управления Highload блоками в Битриксе является использование API, позволяющего вам получать и манипулировать информацией о блоках. В этой статье мы рассмотрим, как получить список все...
Задача: в 1С-Битрикс есть настройка для вывода предложений по стоимости, но она не функционирует должным образом. Необходимо правильно отсортировать предложения по цене.
Задача: при регистрации нового пользователя и оформлении заказа нужно убрать поле Логин и использовать электронную почту вместо него. При этом без захламления init.php и без создания собсвенных компонентов.
Задача: зная ID службы доставки получить необходимую информацию о ней, с помощью API 1С-Битрикс
Задача: когда контент-менеджер создает раздел в инфоблоке, необходимо автоматически создавать подразделы с заранее заданными названиями.
Задача: получить и вывести все цены товара по его ID в каталоге 1С-Битрикс (например, в детальной карточке catalog.element), независимо от того, разрешен ли просмотр цены конкретной группе пользователей.
Задача: В каталоге, у товаров, есть свойство типа список с названием "Тип изделия" и кодом "TIP_IZDELIYA". В значения свойства внесены названия типов изделий и соответствующие значения указаны у каждого товара. Необходимо вывести товары по типам изделий.
Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте sale.personal.profile.list без перехода в детальное описание/редактирование профиля.
Задача: нужно добавить в корзину товар, которого не существует в каталоге, с возможностью задать ему произвольные название и цену.
Задача: показать остаток каждого товара в корзине 1С-Битрикс, что бы покупатель сразу знал предельное колличество товара для покупки.
Задача: реализовать уникальную мета-информацию для каждого SKU в каталоге. У каждого ТП должны быть свои: заголовок h1, ключевые слова, описание страницы, заголовок окна браузера и канонический адрес.
Задача: реализовать возможность печати карточки товара, но так что бы в ней не было не нужных данных: шапки и футера сайта, кнопок покупки и прочих данных, не важных на распечатанной странице.
Задача: реализовать возможность сортировки товаров в разделах каталога. Сортировка должна работать с использованием AJAX. В качестве параметров сортировки используются: по алфавиту, по цене, по новизне, просмотрам и по брендам.
Задача: на странице товара необходимо реализовать функцию автоматического изменения URL при выборе определенной товарной позиции без перезагрузки страницы. При этом, если ссылка скопирована и передана другому пользователю, должен осуществляться автоматический выбор соответствующей товарной позиции при...
Задача: сайт проработал 7 лет и все время на нем была открытая регистрация, создано много мертвых учетных записей (боты, просто фантомные регистрации и.т.д.). Необходимо удалить всех пользователей, у которых нет заказов в интернет магазине.
Задача: При клике по ссылкам на Telegram и WhatsApp в мобильном приложении необходимо сразу открывать мессенджеры без промежуточного открытия системного браузера.
Задача: прочитать txt-файл с ценами и остатками, который выгружает программа учета по FTP, и обновить эти данные в каталоге. Скрипт должен автоматически запускаться каждую ночь в 00:00 по расписанию.
Задача: заменить работу с изображениями в стандартном или кастомном шаблоне детальной карточки (catalog.element) 1С-Битрикс, с "всплывающего окна" и "лупы" на работу с fancybox. При этом необходимо обеспечить работу с торговыми предложениями, заменяя коллекцию картинок.
Задача состоит в том, чтобы запретить указание количества товара, добавляемого в корзину, в определенных разделах каталога. По умолчанию указание количества товара включено.
Задача состоит в том, чтобы реализовать возможность локальных уведомлений в приложении на Apache Cordova без использования push-серверов и других внешних подключений.
Задача: дать пользователям возможность отписаться от всех рассылок "E-mail маркетинга", не только по ссылке из письма, но и в персональном разделе- по нажатию одной кнопки.
Задача: добавить возможность фильтрации товаров по складам в умном фильтре. Данные должны обновляться автоматически, при импорте товаров из 1С.
Задача: в детальной карточке товара сделать возможность добавления услуги или опции, при добавлении товара в корзину.
Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового предложения. Если картинки у предложения нет - выводим иконку цвета.
Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе.
Задача: в интернет-магазине накапливается большое количество брошенных корзин, нужно их очистить. Включая и корзины зарегистрированных пользователей, которые просто не дооформили заказ. При этом используя API 1С-Битрикс, а не прямые запросы в базу данных.
Задача: в каталоге, разделы и подразделы выводятся в виде плитки над товарами, с картинками разделов. Так как разделов и подразделов очень много, необходимо использовать картинку любого товара из раздела. При этом, сохранив возможность добавлять картинку в раздел, штатно, из свойства.
Стоимость разработки на 1С-Битрикс:
Индивидуальная разработка магазина
от 500 000 руб. от 5-ти недельРазработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.
Запуск сайта на готовом решении
от 150 000 руб. от 7-ми днейВариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.
Мобильное приложение
от 550 000 руб. от 5-ти недельРазработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore
Сайт компании
от 300 000 руб. от 2-х недельКорпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.
Инфоресурс
от 300 000 руб. от 4-х недельИнформационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.
3D‑моделирование, визуализация
от 25 000 руб. от 3-х днейПо вашим фото, чертежам или описанию создадим 3D‑модели и отрендерим набор изображений для каталога товаров: общий вид, крупные планы и технические ракурсы или 360°‑обзор товара.