Получение текущего шаблона в кастомном методе — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 1: Строка 1:
 
  [[category:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Написание кастомных макросов]]
 
  [[category:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Написание кастомных макросов]]
'''Актуально для версии 2.9'''
+
'''Актуально для версии 20'''
 +
 
 +
== Задача ==
  
<p>
 
'''Задача''':
 
</p>
 
<p>
 
 
В кастомном методе узнать какой шаблон используется системой, если шаблоны хранятся в [http://help-dev.umi-cms.ru/chapter.newTemplates.html новом формате].
 
В кастомном методе узнать какой шаблон используется системой, если шаблоны хранятся в [http://help-dev.umi-cms.ru/chapter.newTemplates.html новом формате].
</p>
+
 
<p>
+
== Решение ==
'''Решение''':
+
 
</p>
+
 
<p>
 
 
Нужно воспользоваться методами контроллера системы:
 
Нужно воспользоваться методами контроллера системы:
</p>
+
 
 
<source lang="php">
 
<source lang="php">
 
// Полный путь к файлам используемого шаблона
 
// Полный путь к файлам используемого шаблона
Строка 21: Строка 18:
 
$template_name = cmsController::getInstance()->detectCurrentDesignTemplate()->getName();
 
$template_name = cmsController::getInstance()->detectCurrentDesignTemplate()->getName();
 
</source>
 
</source>
<p>
 
 
При использовании старого формата хранения шаблонов, функции возвращают NULL.
 
При использовании старого формата хранения шаблонов, функции возвращают NULL.
</p>
+
 
<table align="center" width="100%">
+
 
<tr>
+
'''Примечание'''
<td style="border: 1px dotted black; padding: 20px;">
+
 
'''Примечание'''.
 
<br />
 
<p>
 
 
Данный функционал был проверен на работоспособность в версии системы 2.8.5.1.
 
Данный функционал был проверен на работоспособность в версии системы 2.8.5.1.
</p>
 
</td>
 
</tr>
 
</table>
 

Текущая версия на 10:26, 31 октября 2019

Актуально для версии 20

Задача

В кастомном методе узнать какой шаблон используется системой, если шаблоны хранятся в новом формате.

Решение

Нужно воспользоваться методами контроллера системы:

// Полный путь к файлам используемого шаблона
$template_path = cmsController::getInstance()->getResourcesDirectory(true);

// Имя папки используемого шаблона
$template_name = cmsController::getInstance()->detectCurrentDesignTemplate()->getName();

При использовании старого формата хранения шаблонов, функции возвращают NULL.


Примечание

Данный функционал был проверен на работоспособность в версии системы 2.8.5.1.