Мне кажется, что если человек знает язык программирования, и более-менее знаком с основами программирования, то чтобы разобраться в том или ином моменте достаточно исходников (иногда еще отладчик требуется). Своей первый компонент для Mambo я написал в 2003 году, через 2 недели после того, как первый раз увидел эту систему. И этот компонент был расширенным профилем пользователей (произвольный набор полей, закладки в профиле и т.д.). Никаких сайтов с документацией не было, были исходники системы, существующие расширения и желание разобраться.
Сейчас полно документации на английском, еще больше качественных расширений. Отлично прокомментированный исходный код ядра Joomla, и весьма приличный набор готовых расширений - очень разной функциональности причем.
Если речь идет о том, что совсем ничего не понятно - значит надо начинать с того, чтобы подтянуть свои знания PHP, ООП и почитать про шаблоны проектирования (design patterns). После чего еще раз попробовать разобраться. Проще всего разбираться на каком-нибудь небольшом расширении, выполняющем самую простую функцию. Загнать его в отладчик, открыть страницу и посмотреть как выполняется код, откуда, куда, что приходит. Станет понятней. Потом еще, еще...
Когда что-то более менее начнет вырисовываться - пойти еще раз почитать docs.joomla.org, там полно статей, причем почти по всем важным моментам есть материалы.
В общем было бы желание...