Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывести сумму заказа на странице "Заказ поступил в обработку"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3762
Последний ответ 07 Ноября 2014, 23:46:49
от Axiomateria
Новые товары каталога на главной странице сайта (xslt)

Автор wolfmanРаздел Шаблоны XSLT

Ответов: 7
Просмотров: 5420
Последний ответ 21 Сентября 2012, 21:09:41
от admin
Вывод на странице названия (заголовка) главного раздела в его объекте

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 2641
Последний ответ 13 Сентября 2013, 11:07:44
от admin
Есть ли вариант вывода элемента справочника на странице

Автор crazygeorgioРаздел Настройка системы и модулей

Ответов: 3
Просмотров: 2210
Последний ответ 10 Мая 2013, 10:00:24
от Vladimir
Вывод на странице контента всех записей раздела

Автор aizulРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 1108
Последний ответ 31 Января 2016, 22:22:14
от crazygeorgio

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

*

Scrobot

  • *
  • 5
  • +0/-0
    • Просмотр профиля
Мне нужно отредоктировать текст на этой странице http://ego-qwis.ru/news1/vnimanie_novogodnyaya_akciya/. Проблема заключается в том что этому заголовку и тектсу присвоен одни и теже классы что и в остальном контенте, то есть я поменял в таблице стилей у заголовка цвет на красный а у текста шрифт на 18 пикселей, и эти изменения затронули весь контент. Мне нужно при своить этим тегам  классы и прописать их в css. Я в первый раз сталкнулся с этим движком и не знаю где найти страницу с этим контентом. Подскажите пожалуйста хоть примерно в какой папке могут находиться файлы этой страницы

*

Vladimir

  • ****
  • 279
  • +48/-0
    • Просмотр профиля
Re:Не могу отредактировать заголовок и текс&#
« Ответ #1 : 20 Декабря 2011, 16:52:42 »
Судя по адресу страница находится в разделе "новости", а судя по дате можно предположить, что она одна из последних добавленных. Т.е., если в в дереве страниц развернете раздел "Новости", то искомая будет в нижней части раскрывшегося списка.

Что касается стилей, то тут сложнее. Заголовок НЕ редактируется из визуального редактора, поэтому вы не сможете задать ему иной класс, не редактируя шаблон.
Узнать какой шаблон используется можно так: в дереве страниц клик правой кнопкой мыши на искомой странице, в контекстном меню пункт "шаблон дизайна", запомнить название.  Затем перейти в "настройки модуля" (справа вверху от дерева), найти в списке шаблонов нужный. В соседней колонке будет имя файла. В зависимости от шаблонизатора (tpl или xslt) шаблоны будут находиться в папках xsltTpls или tpls/content  (я думаю, у вас сайт был сделан до выхода 2.8.5).
Про xslt ничего не могу сказать, это лучше знает admin, а в tpl наверняка будет вызов макроса news view(), а если не будет, а будет только %content%, то, скорее всего, нужно смотреть шаблон /tpls/news/default.tpl  (папка news - потому что макрос news)
Однако, имейте в виду, что изменения в шаблоне также применятся ко всем новостям.

Вам можно  либо добавить через шаблоны данных поле, в котором можно указывать имя класса, обернуть заголовок и текст в  div, дла которго задавать class="вывод_из_вашего_поля", либо, как временное быстрое решение, class="news%pid%" . Здесь %pid% - это id редактируемой страницы. Вы можете его всегда узнать в админке подведя мышь в названию страницы и посмотрев в строку состояния - это последнее целочисленное значение.
« Последнее редактирование: 20 Декабря 2011, 16:55:17 от Vladimir »

*

Scrobot

  • *
  • 5
  • +0/-0
    • Просмотр профиля
вся проблема в том что шаблон идет в расширении .xsl я нашел в таблице стилей селектор отечающий за стиль этого заголовка #main #page div.center h1, а вот где присвоить класс именно этому заголовку я найти не могу

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
судя по всему сайт делается на основе xslt шаблонов demodizzy (Интернет магазин современны).

Тогда, если я правильно понял что именно нужно найти в шаблонах, то вам нужно изменить 2 блока (см. прикрепленную картинку)

блок номер 1
скорее всего, формируется в файле /xsltTpls/modules/content/common.xsl блок вида
<xsl:template match="result[@pageId]" mode="header">
<h1 umi:element-id="{@pageId}" umi:field-name="h1" umi:empty="&empty-page-name;">
<xsl:value-of select="@header" />
</h1>
</xsl:template>

чтобы добавить свой уникальный стиль можно сделать так как советовал Владимир, то есть добавить класс который будет содержать id текущей страницы, в вашем случае это будет так:
<xsl:template match="result[@pageId]" mode="header">
<h1 class="myclass_{@pageId}" umi:element-id="{@pageId}" umi:field-name="h1" umi:empty="&empty-page-name;">
<xsl:value-of select="@header" />
</h1>
</xsl:template>

либо можно создать уточняющий шаблон для конкретно вашей страницы (http://ego-qwis.ru/news1/vnimanie_novogodnyaya_akciya/) вставив ниже 1 приведенного мною шаблона такой шаблон

<xsl:template match="result[@pageId and @pageId='560']" mode="header">
<h1 class="my_special_class" umi:element-id="{@pageId}" umi:field-name="h1" umi:empty="&empty-page-name;">
<xsl:value-of select="@header" />
</h1>
</xsl:template>
где 560 это id вашей страницы, можете посмотреть это в админке, как и советовал  Владимир. То есть вы создадите уточняющий шаблон для тсраницы с id =560.

блок номер 2
надо искать /xsltTpls/modules/news/news-item.xsl шаблон (в дефолтном варианте, хотя у вас он ,судя по виду, явно уже редактировался)
<xsl:template match="/result[@module = 'news'][@method = 'item']">
<div umi:element-id="{$document-page-id}" umi:field-name="content" umi:empty="&empty-page-content;">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes" />
</div>

<xsl:apply-templates select="document('udata://news/related_links')" />

<a href="../">
<xsl:text>&news-back;</xsl:text>
</a>
<div class="social">
<div class="plusone">
<div class="g-plusone" data-size="small" data-count="true"></div>
</div>
<script type="text/javascript">
jQuery(document).ready(function(){ jQuery.getScript('//yandex.st/share/share.js', function() {
new Ya.share({
'element': 'ya_share1',
'elementStyle':{
'type': 'button',
'linkIcon': true,
'border': false,
'quickServices': ['yaru', 'vkontakte', 'facebook', 'twitter', 'odnoklassniki', 'moimir', 'lj']
},
'popupStyle':{
'copyPasteField': true
}
});
});
});
</script>
<span id="ya_share1"></span>
</div>
</xsl:template>

тут такая же история, либо вы вставляете в нужном месте класс содержащий id текущей страницы
<xsl:template match="/result[@module = 'news'][@method = 'item']">
<div class="myclass_{$document-page-id}" umi:element-id="{$document-page-id}" umi:field-name="content" umi:empty="&empty-page-content;">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes" />
</div>
.....
</xsl:template>

либо пониже делаете уточняющий шаблон
<xsl:template match="/result[@module = 'news' and @method = 'item' and @pageId='560']">
<div class="my_second_special_class" umi:element-id="{$document-page-id}" umi:field-name="content" umi:empty="&empty-page-content;">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes" />
</div>
.....
</xsl:template>

вам выбирать и это конечно еще не все варианты, которые можно сделать на xslt, но самые быстрые
« Последнее редактирование: 21 Декабря 2011, 20:13:11 от admin »

*

Scrobot

  • *
  • 5
  • +0/-0
    • Просмотр профиля
спасибо большое! сейчас буду разбираться!