Вот если честно, то много писать - это разработать надо, хотя может кто-то и напишет подробно.
1. На примере смарт фильтра:
Делаете страницу, на которой вызывается смарт фильтр и список товаров каталога. Потом в своем шаблоне смарт фильтра редактируете вывод полей (свойств, по которым фильтруете) как вам надо по условиям (приоритетам)... Делаете так, чтобы при выборе сразу срабатывал фильтр. Шаблон под себя правите...
В итоге будет работать фильтрация и сужаться круг поиска.
2. Если на аяксе, то при выборе селекта, отправляете запрос на ваш скрипт на пхп. В нем возвращаете список товаров для следующеко селекта и т.д. А в пхп можно просто сделать запрос к базе с нужным фильтром по свойству
Ругается на то,что вы пытаетесь "Строковое значение" использовать в коде как "Массив". Например сравнить как массив. Вот тут: /var/www/vhosts/svetozon.ru/httpdocs/bitrix/php_interface/init.php:1604
Если прям вот совсем как у них, то я вижу следующее: у них сделано 2 каталога: Основной каталог с разделами - Каталог И дополнительный каталог с разделами по брендам - Каталог по брендам Отсюда я предполагаю, что в каталоге по брендам товары дублируются. И соответственно из карточки товара можно узнать путь Дополнительного каталога, а дальше вывести списки Дополнительного каталога можно на подобии Основного каталога, только создав папку на /catalog/brands/ . И ссылку на карточку товара оставляйте как в Основном каталоге, чтоб дублей не было (как собственно у них и сделано).
Далее, про ссылки в свойствах в описании по значениям: тут все просто. Нужно передать значение в фильтр по свойству и вывести список товаров с фильтром. Обратите внимание на URL для примера: https://www.officemag.ru/catalog/1179/?filter=prop-tip_tovara-klassicheskiy есть GET-запрос: filter=prop-tip_tovara-klassicheskiy - вот тут фильтр и вызван. Расписывать не буду про то как фильтровать списки товаров по свойству, т.к. много статей уже написано.
Думаю что не сложная (я по себе сужу). На мой взгляд, программист работающий в специализирующейся фирме сможет сделать такую задачу в течение дня вместе с отладкой. И обратите внимание, что я говорю про функционал. Нужно еще посмотреть что у Вас в коде и на сколько дизайн изменится. А в общем не сложно.
Если вы сможете в js все товары с количеством >0 в итерации передать данные со страницы в ajax, то сами переделаете шаблон. Если нет, то обратитесь к программистам.
Тоже есть проблема с оформлением заказа, но не из-за дополнительных модулей. А в том, что у нас товара кладут по 100 - 500 позиций с трех разных складов и учетом резервов по складам, скидок и акционных цен. И пока сайт "переварит" все проверки: - кастомную систему скидок (накопительную, персональную, акционную), - перерасчет стоимости, - доступность по складам и т.д., уходит безумное количество времени... Пока не знаю как с этим бороться.