UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Babajka от 07 Ноября 2012, 17:08:04

Название: Задать параметр template-resources
Отправлено: Babajka от 07 Ноября 2012, 17:08:04
Пытаюсь перейти на новый формат хранения шаблонов. Прописал href="%template_resources%css/style.css", не понятно где вводить значение <xsl:param name="template-resources" />.
Название: Re:Задать параметр template-resources
Отправлено: admin от 08 Ноября 2012, 05:40:25
Цитировать
В случае с XSLT-шаблоном, сначала следует задать параметр template-resources (<xsl:param name="template-resources" />), объявив его глобально (в начале основного шаблона), а затем использовать его href="{$template-resources}css/design/__common.css.

проценты убираем, если с xslt работаете.
<xsl:param name="template-resources" /> надо вписать до самого первого шаблона из всех подключаемых шаблонов, то есть, если вы пользуетесь шаблонами deemodizzy, то в файл xslt/default.xsl около параметра <xsl:param name="p" select="0" /> вставьте.

Название: Re:Задать параметр template-resources
Отправлено: Babajka от 08 Ноября 2012, 10:35:32
По прежнему выводит сообщение "Warning: XSLTProcessor::importStylesheet(): /home/clients/dark".  Ошибся, прикрепил я css файл строкой " <link href="{$template-resources}css/style.css" rel="stylesheet" /> ". Как и было сказано " <xsl:param name="template-resources" /> " вписал до " <xsl:param name="p" select="0" /> ". Но ошибка есть. Понять не могу в чем причина.
Название: Re:Задать параметр template-resources
Отправлено: admin от 08 Ноября 2012, 18:57:53
а точно причина ошибки в переменной $template-resources? попробуй её убрать и её объявление и использование в шаблоне.

Название: Re:Задать параметр template-resources
Отправлено: Babajka от 09 Ноября 2012, 10:36:31
Вопрос решился. В файле \xslt\layouts\default.xsl были две проблемы с объявлением переменных.
Название: Re:Задать параметр template-resources
Отправлено: admin от 10 Ноября 2012, 11:34:24
то есть переменная $template-resources заработала?
Название: Re:Задать параметр template-resources
Отправлено: sergeron от 17 Января 2013, 21:50:16
никак не решается таже проблема:
в файле \xslt\layouts\default.xsl делаю замены такого вида

 
<link type="text/css" rel="stylesheet" href="{$template-resources}css/design/common.css?{/result/@system-build}" />

параметр прописан здесь \xslt\default.xsl
<xsl:param name="template-resources" />

Название: Re:Задать параметр template-resources
Отправлено: admin от 18 Января 2013, 11:28:46
версия системы?
Название: Re:Задать параметр template-resources
Отправлено: sergeron от 18 Января 2013, 20:45:38
2.8.6 UMI.CMS Commerce
Название: Re:Задать параметр template-resources
Отправлено: sergeron от 18 Января 2013, 22:39:48
а папку classes надо переписывать?
ошибки выдает на подключение
Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: I/O warning : failed to load external entity "/public_html/templates/glu/xslt/modules/content/common.xsl" /public_html/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 30

Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: compilation error: file /public_html/templates/glu/xslt/default.xsl line 34 element include in /public_html/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 30

Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: xsl:include : unable to load /public_html/templates/glu/xslt/modules/content/common.xsl in /public_html/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 30

и так по всему что есть в default.xsl
Название: Re:Задать параметр template-resources
Отправлено: admin от 19 Января 2013, 02:10:18
а папку classes надо переписывать?

а разве она не переписалась сама при обновлении?
Название: Re:Задать параметр template-resources
Отправлено: sergeron от 19 Января 2013, 13:13:06
нет, и если смотреть на других сайтах где уже есть templates и demoold, то там нет папки classes?так надо переписывать?
Название: Re:Задать параметр template-resources
Отправлено: BaceH от 19 Января 2013, 20:33:38
в темплейте папка classes содержить только кастомные методы. если кастомов нет то папка должна быть пустой, но быть должна.
Название: Re:Задать параметр template-resources
Отправлено: admin от 20 Января 2013, 11:42:25
вы говорите про папку /templates/site_name/classes/ ?

Она, как часть шаблона, не переписывается, но  я не замечал зависимости работы параметра template-resources, от наличия данной папки
Название: Re:Задать параметр template-resources
Отправлено: sergeron от 20 Января 2013, 18:56:05
вопрос решился, /classes/ - не нужна.
use-old-templater = "1" вроде тоже никак не влияет
Но, вот что еще меня беспокоит:
<xsl:if test="$user-type != 'sv'">
<script charset="utf-8" src="{$template-resources}js/jquery/jquery-ui.js?{/result/@system-build}" type="text/javascript"></script>
</xsl:if>
, например,

по-идее должно подключать скрипты из templates/js/, а подключает из корня js или я вообще ерунду написал смешав {$template-resources} и ?{/result/@system-build}
Название: Re:Задать параметр template-resources
Отправлено: admin от 20 Января 2013, 23:51:36
1. опишите, как именно решилась проблема

2. что именно вас беспокоит?
 - откуда лучше подключать файл (на ваше усмотрение),
 - что в шаблоне у вас содержится /result/@system-build (это сделанно чтобы при обновлении у вас меняется build и система заставляет при очередной загрузке страницы принудительно перегрузить данный js? чтобы он не брался из кэша и тем самым не игнорировал возможные нововведения в данном js файле)
 - что в пути к js есть и template-resources и build (тут нет ничего страшного)
 - что у вас путь указан {$template-resources}js/jquery/jquery-ui.js?{/result/@system-build} а при просмотре страницы вы видите путь /js/jquery/jquery-ui.js?123123 (возможно, вы сидите под админом и смотрите на строчку, которая подключена через макрос quickeditejs , а он конечно подключает из папки /js/)
Название: Re:Задать параметр template-resources
Отправлено: sergeron от 22 Января 2013, 16:22:52
1. проблема решилась просто - папку с модулями переобозвал, когда заливал, потом исправил и все заработало.