Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 2251 Просмотров
*

scomp

  • Новичок
  • 9
  • 2 / 0
Мысли по JPATH_THEMES и com_templates
« : 22.01.2013, 16:46:55 »
Всем доброго времени суток.

Наверное я один об этом задумывался - есть у нас такой замечательный файл includes/define.php, который я люблю править.

Там можно указать путь к шаблонам:
Код
define('JPATH_THEMES',        JPATH_BASE . '/templates');

И Front-End действительно ищет шаблоны по этому пути.

Но почему тогда в \administrator\components\com_templates\helpers\templates.php путь к папке шаблонов формируется как
Код
$templateBaseDir.'/templates/'.$templateDir

И нет возможности не внося изменений в компонент научить панель администрирования работать с переменной JPATH_THEMES.

Не помню как в J!2.5, но там меня этот вопрос не беспокоил. То ли работало как надо, посмотрю потом.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Мысли по JPATH_THEMES и com_templates
« Ответ #1 : 22.01.2013, 18:00:34 »
Что-то я не уловил связи. Приведите пример того, как Вы хотели научить панель администрирования работать с переменной JPATH_THEMES.
*

scomp

  • Новичок
  • 9
  • 2 / 0
Re: Мысли по JPATH_THEMES и com_templates
« Ответ #2 : 22.01.2013, 21:14:43 »
Что-то я не уловил связи. Приведите пример того, как Вы хотели научить панель администрирования работать с переменной 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 не вариант, т.к. чем меньше правок, тем легче это потом обновлять.
« Последнее редактирование: 22.01.2013, 21:18:40 от scomp »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Мысли по JPATH_THEMES и com_templates
« Ответ #3 : 22.01.2013, 22:32:17 »
Ясно. Но у Вас скажем так, нечастая ситуация. Вы можете конечно попробовать продвинуть идею, сделав соответствующее предложение на трекере и замутив pull request.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться