В папке с шаблоном создаем подпапку code, в ней подпапку с именем компонента и далее, как описано ниже.
Переопределение контроллера компонента:
TEMPLATE_NAME/code/COMPONENT_NAME/CONTROLLER.php
TEMPLATE_NAME/code/administrator/COMPONENT_NAME/CONTROLLER.php
Переопределение модели компонента:
TEMPLATE_NAME/code/COMPONENT_NAME/models/MODEL_NAME.php
TEMPLATE_NAME/code/administrator/COMPONENT_NAME/models/MODEL_NAME.php
Переопределение представления компонента:
TEMPLATE_NAME/code/COMPONENT_NAME/views/VIEW_NAME/VIEW_NAME(.FORMAT).php
TEMPLATE_NAME/code/administrator/COMPONENT_NAME/views/VIEW_NAME/VIEW_NAME(.FORMAT).php
Переопределение модуля:
TEMPLATE_NAME/code/MOD_NAME/MOD_NAME.php
Расширение стандартных классов.
Если в настройках плагина вы активируете опцию Make Extendable, то будете иметь возможность расширять классы. Это лучший подход, чем просто переопределение.
Пример расширения класса можно посмотреть в статье VirtueMart – интернет-магазин на Joomla. Часть 29. Расширение функциональных возможностей Virtuemart без хака ядра.