Bitrix API правил работы с корзиной

Представим себе, что перед нами стоит следующая прикладная задача:

Есть правило работы с корзиной, применяющее 10% скидку на определённые товары:

Необходимо на уровне Bitrix API добавить в это правило еще несколько товаров. Данная задача актуальна, когда товаров много и вручную добавлять слишком трудозатратно.

Прежде чем приступить к решению задачи, стоит уточнить, что начиная с версии 16.6.0 модулей Информационные блокиТорговый каталог и Интернет-магазин, доступны объединенные скидки каталога и магазина. Соответственно после конвертации правила работы с корзиной «переплыли» с CCatalogDiscount в CSaleDiscount. В новых же версиях Битрикс необходимо пользоваться классом CSaleDiscount.

Читать далее

Паттерны проектирования в JavaScript

Что такое паттерн проектирования?

В сфере разработки программного обеспечения паттерн проектирования (design pattern) — это повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Паттерны проектирования представляют собой обобщение опыта профессиональных разработчиков ПО. Паттерн проектирования можно рассматривать как некий шаблон, в соответствии с которым пишут программы.

Читать далее

Ресайз изображений через обработчик событий Битрикс

Для клиента недавно решил интересную задачу: нужно было сделать так, чтобы при загрузке  изображений в элементы или разделы инфоблока, производилось их пропорциональное уменьшение (resize), если длина или ширина изображения превышает заданное значение.

За основу была взята Битриксовая функция ресайза CIBlock::ResizePicture

Собственно код:

Читать далее

Зоны доставки на Яндекс картах. Бесплатное решение для Битрикс от автора блога.

Всем привет! Наконец-то у меня дошли руки до реализации своего собственного решения для Битрикс Маркетплейса.

Собственно встречайте: Зоны доставки на Яндекс картах

Данное решение позволяет рисовать и отображать зоны доставки на Яндекс картах.

Ну и небольшой демонстрационный видос, как пользоваться решением:

Резиновое (адаптивное) видео с YouTube и Vimeo

Всем известно, что в iframe кодах встраивания видео YouTube и Vimeo присутствуют такие параметры, как размеры видеоплеера — ширина и высота. Что же делать, если сайт адаптивный?

Решение есть:

Обрамляем наш iframe дивником:

<div class="video-container">
     <iframe width="560" height="315" src="https://www.youtube.com/embed/{ID_ВИДЕО}?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>

Стили video-container-а ставим следующие:

Читать далее