Что-то я не уловил связи. Приведите пример того, как Вы хотели научить панель администрирования работать с переменной JPATH_THEMES.
Точно так же, как панель администрирования работает с переменными из \administrator\includes\defines.php
Более того, переменная JPATH_THEMES там есть и содержит путь к шаблонам панели администрирования.
Теоретически, там могла присутствовать переменная, например, JPATH_SITE_THEMES (т.к. в JPATH_THEMES содержится путь к шаблонам панели администрирования) и уже она бы использовалась в com_templates, а не эта жесткая привязка к пути /templates/ в корне сайта, реализованная следующими строками:
$templateBaseDir = $clientId ? JPATH_ADMINISTRATOR : JPATH_SITE;
$filePath = JPath::clean($templateBaseDir . '/templates/' . $templateDir . '/templateDetails.xml');
Если в Joomla заложено, что шаблоны обязательно должны жить в корне сайта в папке /temlates/, то зачем тогда было в defines.php присваивать путь к шаблонам и наоборот, если я могу это значение изменить, почему в панели администрирования я должен непосредственно править сам com_templates, который может вернуться в исходное состояние при обновлении.
Главный вопрос - зачем мне это нужно? У меня используется один каталог файлов Joomla для нескольких сайтов одновременно и в defines.php автоматически определяются значения в зависимости от домена, по которому обращаются к скриптам. И для каждого сайта у меня свой configuration.php, папка шаблонов, папка кеша, папка images с подкаталогами для каждого пользователя (каждый пользователь корнем видит только свой каталог). Все остальные файлы Joomla - общие. Вся кастомизация происходит только через переопределение и дальше папки шаблона не выходит. И все это великолепно работало на Joomla 2.5 и теперь работает на Joomla 3.0. Единственный минус реализации - шаблоны из панели устанавливаются в корневую папку /templates/ и их вручную приходится переносить в папку нужного сайта. Править com_template не вариант, т.к. чем меньше правок, тем легче это потом обновлять.