Новости Joomla

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

error648398

  • Захожу иногда
  • 168
  • 21 / 0
Не подскажите решение вывода отдельного шаблона сайта для конкретного компонента, можно конечно переопределять шаблон для пункта меню, но хотелось бы этого избежать, и программно указать компоненту какой шаблон использовать.
Как то в инете ничего похожего не нашел.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Отдельный шаблон для компонента
« Ответ #1 : 22.01.2016, 15:23:06 »
JFactory::getApplication()->setTemplate( 'имя_нужного_шаблона' );
*

fsv

  • Живу я здесь
  • 2765
  • 402 / 2
Re: Отдельный шаблон для компонента
« Ответ #2 : 22.01.2016, 19:11:24 »
JFactory::getApplication()->setTemplate( 'имя_нужного_шаблона' );
Если в шаблоне есть параметры, они работать не будут.

Из одного плагина (JED) по смене шаблонов (с/на мобильный):
Спойлер
[свернуть]
При каждой загрузке страницы - запрос на получение параметров этого НЕ основного шаблона.
Не понравилось. Сделал получение параметров 1 раз - при выборе мобильного шаблона в настройках плагина - с сохранением этих данных в поле (параметрах) плагина. Вы для своего компонента, если планируете указывать новый шаблон в его настройках, можете также сделать.
Тогда потом как-то похоже:
Код: php
$app->setTemplate( $mobiletemplate_name, (new JRegistry($mobiletemplate_params)) );
   
, только переменные ваши будут.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Отдельный шаблон для компонента
« Ответ #3 : 22.01.2016, 20:33:13 »
Если в шаблоне есть параметры, они работать не будут.
Не все используют шаблонные параметры...
*

error648398

  • Захожу иногда
  • 168
  • 21 / 0
Re: Отдельный шаблон для компонента
« Ответ #4 : 22.01.2016, 23:42:14 »
Всем спасибо, в шаблоне не использовались другие параметры, и вариант:

JFactory::getApplication()->setTemplate( 'имя_нужного_шаблона' );

подошел
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Re: Отдельный шаблон для компонента
« Ответ #5 : 25.01.2016, 17:11:33 »
JFactory::getApplication()->setTemplate( 'имя_нужного_шаблона' );
Круто! Работает.
Только странно, что в NetBeans (не знаю как в других редакторах) не появляется setTemplate в выпадающем списке методов для getApplication
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Отдельный шаблон для компонента
« Ответ #6 : 25.01.2016, 17:45:02 »
Круто! Работает.
Только странно, что в NetBeans (не знаю как в других редакторах) не появляется setTemplate в выпадающем списке методов для getApplication
в других редакторах тоже не выдает этот метод )
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Re: Отдельный шаблон для компонента
« Ответ #7 : 26.01.2016, 15:53:11 »
Столкнулся еще с такой проблемой. Не входит в админку.
Суть в том, что мне потребовалось цеплять разные шаблоны к разным доменным именам одного сайта. С целью, чтобы админка была общая, а отображения фронт-енд разное.
Но вот по первому сайту (с дефолтным шаблоном) админка открывается (сайт1.ру/administrator), а админка второго домена выдает 500 ошибку (сайт2.ру/administrator)
Файловая система одна. Как это можно исправить?
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Re: Отдельный шаблон для компонента
« Ответ #8 : 26.01.2016, 16:04:28 »
Сам разобрался... не учел, что плагины отрабатывают как на фронт-енде, так и на бэк-енде. Добавил !$app->isAdmin() в условие, и всё заработало)
Цитировать
if ($sitename != 'сайт1') {
            if (!$app->isAdmin())
                $app->setTemplate('шаблон2');
        }
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться