Разрабатывая концепцию онлайн-газеты мы задумались над поиском CMS или фреймворка на котором проект можно реализовать. Для продажи контента по подписке существуют как специализированные движки, так и модули для разных популярных систем, но учитывая специфику Заказчика сделали свой выбор в пользу Битрикс.
У Битрикса есть решение из коробки по продаже контента, но из-за малого количества отзывов разработчиков по этому решению и скупой документации, был риск нарваться на сырое решение, которое в неподходящий момент покажет нам свои скрытые камни. Так оно и вышло, но об этом ниже.
Мы создали все необходимые инфоблоки, организовали каталог под продажу платных статей через подписку и бумажной версии газеты, а также организовали личные кабинеты пользователей и подключили интернет-магазин, чтобы скорее начать тестировать механизм Битрикса.
Дело в том, что у нас в задачах стояла продажа бумажной газеты и онлайн-подписки как физическим лицам, так и юридическим. Разница заключалась не только в двух типах личных кабинетов с разными полями и способами оплаты товаров, но и в том, что для юридических лиц есть возможность приобретения как нескольких экземпляров бумажной газеты, так и нескольких подписок на платный контент. То есть должна быть возможность купить например 5 подписок на июнь 2022 года и 10 на август 2022 года.
И тут возникла сложность т.к. в ядре Битрикс заложено условие: либо несколько товаров в корзине, либо покупка платного контента в одном экземпляре. Других вариантов не предусмотрено. И никаких пояснений об этом в документации Битрикса нет. Кто получил такую неожиданность – тому наше понимание. Техподдержка Битрикса тоже не поможет – решайте сами, своими силами.
Решение мы нашли. Оно не столь изящное как нам бы хотелось, но оно работает. Нужно залезть в ядро Битрикс, найти файл отвечающий за условие которое разразботчики Битрикс наложили на работу корзины и удалить / закомментировать одну строчку кода. Несложное решение, но «ужас» в том, что при очередном обновлении Битрикс будет перезаписано его ядро и вам придется повторить процедуру. И потом с этим долго жить т.к. разработчики Битрикс не планируют изменять данный механизм.











Роман Васильевич
А можно в битриксе сделать “пакетные предложения”: например, “Подборка из 5 видео + 3 статьи” дешевле, чем по отдельности? И чтобы скидка считалась автоматически и не было двойного применения скидок?
Студия Фонарь
Здравствуйте! В инфоблоке битрикса создаём тип элемента “Пакет контента” со свойствами: список материалов, базовая цена, скидка. При покупке пакет “распаковывается” в отдельные записи доступа к каждому материалу. Важно: проверять, не куплен ли уже какой-то из материалов, и не применять скидку дважды. В битриксе логику лучше вынести в отдельный сервис, а не держать в шаблоне. Если скажете, какие типы пакетов планируете (тематические, временные, по уровню сложности), покажем, как оформить структуру и как не допустить ошибок при расчёте.
Ирина Н.
Здравствуйте. Мы предполагаем сделать “персональные рекомендации” платного контента: если пользователь купил статьи по теме А, ему показываем похожие материалы и подписки. Как в Битриксе это реализовать без сложной аналитики?
Студия Фонарь
Здравствуйте! Вам можно начать с простого: привязать к материалам теги и категории, а рекомендации строить по совпадению тегов. В инфоблоке статей/видео добавляем свойства “Теги” и “Категория”, в шаблоне выводим список похожих элементов через код с фильтром по тегам. Чтобы не показывать одно и то же, исключаем уже купленные материалы из выборки. В битрксе кэш ставим на 15–30 минут. Если скажете, сколько материалов и какие категории у вас есть, покажем, как оформить запрос и как не усложнить шаблон.
Ирина Н.
Спасибо! На почту выслала.
Антон Петрович
У нас есть материалы, которые должны быть доступны только по заявке: пользователь нажимает “Запросить доступ”, заявка уходит куратору, тот одобряет — и контент открывается. Как это реализовать на Битриксе, чтобы было удобно и кураторам, и пользователям?
Студия Фонарь
Здравствуйте! схема простая: кнопка “Запросить доступ” → создаётся элемент в инфоблоке “Заявки на доступ” со статусом “На рассмотрении” → куратору приходит уведомление → при одобрении статус меняется на “Доступ предоставлен”, и система автоматически открывает контент. Для удобства куратора делаем отдельный список заявок в админке с фильтрами и кнопками смены статуса. В битриксе логику оформляем в отдельном компоненте, чтобы не трогать ядро. Если скажете, сколько заявок ожидается в день и кто будет кураторами (один человек или группа), покажем, как настроить уведомления и как не потерять заявки при сбоях.
Кирилл Михайлович
А можно сделать в битриксе “демо-фрагмент”: например, первые 30 секунд видео или первые 2 абзаца статьи бесплатно, а дальше — пейволл? Это сильно повышает конверсию, но боюсь, что защиту обойдут.
Александр Папков
Здравствуйте! Технически: для видео отдаём отдельный короткий файл или используем JS-ограничение плеера (не показывать таймкоды после 30 сек, блокировать кнопку “Далее”). Для статей в шаблоне выводим первые N символов, а остальное скрываем за кнопкой “Оплатить доступ”. Защита: не полагаемся только на JS, на бэкенде проверяем права при запросе полного контента. В битриксе логику делаем в отдельном компоненте “Демо-доступ”, чтобы не ломать стандартные шаблоны. Если скажете, какой плеер используете (свой, Bitrix Player, YouTube/VK), покажем, где поставить ограничения и как не дать скачать полный файл по прямой ссылке.