Как интересно тут люди пишут. Да, согласен. Для человека который не писал собственных велосипедов всё кажется громоздким и сложным, тяжелым и длинным, но! Если раскурить принцип работы магазина, каталогов продукции в целом. Хотя бы карандашом на бумаге накидать архитектуру приложения, потребности разделить на сущности. Уверен, будет видно что, куда и за что браться в первую очередь.
Тут пишут и сравнивают с готовыми решениями, предлагают брать из того что есть. А у меня к ним вопрос: - На что вы тратите свободное время? Может я з@дрот в плане своей работы(так уж вышло, что моё хобби совпало с работой) но все решения для компании пишу самостоятельно(без левого кода, непонятной оплаты, ссылок в ни куда). Знакомлюсь и раскуриваю сторонние API, решения, предложения. И если в них выявляются слабые/размытые места, отказываюсь отдавая всё свободное время на реализацию более радикального решения, играясь с вариантами реализации.
Изучив множество решений скажу: - ни Yii ни Joomla из коробки не даст вам желаемый результат, но! Время на реализацию с Joomla вы потратите куда меньше чем с Yii и т.п. Frameworks. Хотя бы потому, что реализация Patterns/MVC в Joomla академичнее чем в Yii. Явно видно архитектуру и идею разработчиков чего не скажешь о размытой картине Yii. Реализовав модуль/компонент/шаблон или библиотеку строго в рамках документации Joomla(ы) у заказчиков отпадают к вам вопросы в дальнейшем и вы смело берётесь за следующее. А самое главное, с данным подходом вам даже справку писать нет смысла и расширять проще, приятнее.
Написав компонент JCatalog под Joomla, я разнообразил его применения массой плагинов начиная от обычной фото галереи до узкоспециализированного магазина. А всё началось с уже имеющегося компонента JContent. Времени на разбор и реализацию собственного велосипеда затратил по меньше чем взялся бы за Yii. Да, от сторонних решений отказался в силу отсутствия документации, поддержки и возможности расширения. А от кучи безобразного кода терял сознание =)
Для себя выбор сделал путём проб и ошибок, решение за вами =)