Само собой предполагается использовать фрэймворк :-) Специалистов у нас хватает, просто вопрос стоял: Стоит ли писать, или можно найти подходящее готовое решение)
Не проблема, но в тех cms которые я тестировал, кроме magento, сделано именно рекурсией. Таких моментов на самом деле много, просто проставлением индексов не обойтись(
Во всех cms которые я видел, продукты — это обычные элементы с определенным набором полей, а магазинный модуль — это корзина+оплата. Узкое место — именно организация бд товаров.
Это ясно, но в своей cms структуру БД и средства поиска можно организовать так, что в ущерб гибкости и простоте установки, система будет работать гораздо быстрее.