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