Можно заморочиться и на фреймворках. В школе программирования, где я изучал PHP, вообще делали лабораторку по созданию инет-магазина на чистом PHP. Но здесь, я считаю, необходимо знать меру. Joomla! предлагает хорошую базу из коробки -- тот же фреймворк, фильтрацию запросов, буферизацию вывода, позволяющую легко подключать плагины (кстати прекрасно реализованную) и многое другое. По поводу качественных решений -- я не против. Кстати, JBZoo, действительно неплохой вариант с точки зрения usability (при запутанной структуре самого приложения). Однако как показывает жизнь, готовых решений часто не достаточно для специфических целей, и приходится их допиливать, иногда переписывать отдельные разделы до неузнаваемости. Во-вторых, готовые решения пишутся для широкой аудитории "на все случаи жизни", и отдельному заказчику весь этот трудно реализованный и потребляющий ресурсы функционал и не нужен вовсе. А мой предыдущий ответ касался криво написанных расширений, о которых говорил @flyingspook -- не нужно их ставить, зачем? Лучше создать что-то своё, но качественное.