Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Шаблон отображения списка категорий (магазин "Современный")

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

Ответов: 2
Просмотров: 3379
Последний ответ 03 Июля 2012, 15:22:23
от manadsgn
DOCTYPE - если нужен <!DOCTYPE html>

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

Ответов: 1
Просмотров: 2431
Последний ответ 03 Июля 2012, 11:11:43
от manadsgn
Шаблон для вывода новостей с 3 разными блоками

Автор koroganРаздел Шаблоны TPL

Ответов: 3
Просмотров: 3501
Последний ответ 01 Октября 2011, 03:05:48
от admin
Добавление атрибута ALT в шаблон catalog-thumbnail

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

Ответов: 8
Просмотров: 6414
Последний ответ 17 Октября 2012, 10:36:32
от admin
Шаблон вывода редактирования типа данных

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

Ответов: 2
Просмотров: 2559
Последний ответ 29 Мая 2013, 21:28:33
от crazygeorgio

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

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #45 : 12 Февраля 2016, 16:57:34 »
Ну я ставила и тот вариант и этот, но ваш работает быстрее по-крайне мере на глаз

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #46 : 17 Февраля 2016, 12:55:21 »
Доброго времени суток всем )

Хочу вернуться к вопросу о шаблоне html в xslt

Я нашла вот такую статью (единственную на разметку)
http://dev.docs.umi-cms.ru/prakticheskie_primery/lenty_novostej_sredstvami_xslt-shablonizatora/verstka_shablona_razmetki/
и там есть вот такой кусочек
<div id="left"> 
     <xsl:apply-templates select="result" mode="leftcol" />
  </div>

По сути сейчас мне без разницы правая и левая колонкой. Но я уже несколько дней мучаюсь:
- не могу найти какой файл влияет на содержимое этой части, т.е. я пишу rightcol, справа появляется текст, но если я в файлах делаю изменения, что указаны в примере, то на сайте изменений не происходит ><
- как мне вызвать какой-то блок в эту колонку, например есть акции, и вот мне надо какую-то одну акцию с определенным параметром(об учебе, так же в пример)
акции у меня есть, я для них использовала новости.

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #47 : 18 Февраля 2016, 15:28:48 »
так все-таки, как правильно разбивать в xslt центральную часть на главную и правую колонку?

Вот так я понимаю выводится весь контент?
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes"/>

А как его вывести в правой колонке, если прописана такая строчка:
<div id="right"> 
     <xsl:apply-templates select="result" mode="rightcol" />
  </div>


*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #48 : 18 Февраля 2016, 18:18:45 »
Объясните пожалуйста, что делает этот запрос?
<img src="{document(concat('udata://system/makeThumbnailFull/(.',$img,')/221/260/notemplate/0/1/5/0/100'))/udata/src}"/>

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #49 : 18 Февраля 2016, 19:24:07 »
У меня есть страница с типом данных Страница Контента, грубо говоря я на нее вызываю запрос о специалистах.
- Специалисты [Страница контента] - 272
--Категория [Специалисты] - 291
---ФИО [Специалист]
 148 - это id типа данных Специалист

Но на страницу ничего не вызывается.. что не так ><


	<xsl:template match="result/page[@id = '272']" mode="content">

        <div class="container-fluid">
            <div class="container">
                <div class="block-company">
                    <div class="company-people">
                        <h4>История компании в лицах</h4>
                        <xsl:apply-templates select="document('usel://main/291/148')/udata" mode="human"/>
                    </div>
                </div>
            </div>
        </div>
</xsl:template>

<xsl:template match="udata" mode="human">
        <xsl:apply-templates select="page" mode="human"/>
    </xsl:template>
    <xsl:template match="page" mode="human">
        <div class="human">
            <div class="human-wrap"></div>
            <div class="human--img">
                <xsl:variable name="img" select="extended/properties/property[@name = 'header_pic']/value"/>
            </div>
            <div class="human--descr">
                <h1><xsl:value-of select="name"/></h1>
                <p><xsl:value-of select="extended/properties/property[@name = 'h1']/value"/></p>
            </div>
        </div>
    </xsl:template>

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #50 : 19 Февраля 2016, 13:18:35 »
Никто не может ответить? Т_Т
Я понимаю, что скорее всего все это элементарно, но только если ты хорошо знаком с основами...
А вот с ними как раз проблемы и я по времени не успею с ними разобраться самостоятельно (

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #51 : 06 Марта 2016, 20:08:15 »
Я решила написать этот вопрос тут, чтобы не плодить темы. (или лучше создать?)
В начале вступление

Как было описано не раз, у меня есть направления и за каждым направлением закреплены статьи, вот так выглядит структура:
|Категория1
-Направление1
--Статья1
--Статья2
--Статья3
-Направление2
--Статья1
--Статья2
--Статья3
|Категория2
-Направление1
--Статья1
--Статья2
--Статья3
и т.д.

В правой колонке по задумке клиента, есть блок с этими статьями, в начале я думала вывести их туда как меню, т.е. выводила бы я просто третий уровень вложенности, в данном случае эти статьи и были бы.
Но тут проблема в том, что на каждом направление справа должны быть соответствующие направлению статьи.

Вот теперь и вопрос, если я их как меню выведу, они сами буду автоматически привязывать к определенному направлению, если использовался запрос как для меню (по логике мне кажется да ><) ?

Или например воспользоваться модулем баннера, т.к. в нем можно привязать на какой странице будет отображаться данный блок.
Но мне это кажется очень жестоким каким то и даже диким способом ><

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Шаблон html в xsl с нуля?
« Ответ #52 : 06 Марта 2016, 20:38:54 »
1. следует забыть слова "сами" и "автоматически"
2. следует переформулировать вопрос чтобы получить конкретный результат.

PS: сейчас, мало того, что в посте много буков и не слишком четко описана ситуация, так еще и вопрос задан с опечатками и лексическими неточностями. Пример (мои комментарии в квадратных скобках):

Вот теперь и вопрос, если я их [кого их?] как меню выведу, они [кто они?] сами буду [буду или будут?] автоматически привязывать [кого привязывать?] к определенному направлению, если использовался запрос как для меню [это какой запрос? что-то в документации по ЮМИ ну никак "запрос как для меню" не ищется] (по логике мне кажется да ><) [а мне кажется, что каша] ?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #53 : 06 Марта 2016, 21:01:55 »
Ну рассмотрим на примере приведенной структуры:
|Категория1
-Направление1
--Статья1
--Статья2
--Статья3
-Направление2
--Статья1
--Статья2
--Статья3
|Категория2
-Направление1
--Статья1
--Статья2
--Статья3
и т.д.

В правой колонке я выведу статьи как меню, т.е. беру третью вложенность (так правильно говориться?)

При переходе на Направление1 в правой колонке какие будут высвечивать Статьи, которые относятся к Направлению1 или все статьи всех направлений?

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Шаблон html в xsl с нуля?
« Ответ #54 : 06 Марта 2016, 21:12:39 »
Вероятнее всего ответ на вопрос - это зависит от того, какие параметры будут переданы макросу вывода меню при выводе меню. Логично?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #55 : 06 Марта 2016, 21:21:12 »
Ага...
А есть что-нибудь про эти макросы?
Или примеры? при том хорошо если примеры @_@

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #57 : 06 Марта 2016, 22:26:16 »
Наверное draw как таковой мне не подойдет...

 udata://content/menu/notemplate/0/12

notemplate - говорится что имя шаблона, т.е. это например top_menu?
0 - это получается берется только начальный уровень, т.е. если брать мою структуру, это будет выбираться все Категории, так?
12 - это получается с какой позиции, т.е. например если взять за 2 пункт Категория2, то выведутся все категории, кроме Категория1?


В общем.... пока я тут рассуждала и смотрела, пытаясь сориентироваться по своему меню.... в конец запуталась..... -____-"

Сейчас вся структура, что я описывала Категорииn -> Направленияn -> Статьиn выводятся в верхнем меню.
Да-да, нафиг по сути выводить статьи еще раз в правой колонке, если они есть в выпадающем меню, но вот вожжа под хвост попала, клиент хочет, чтобы и там были статьи привязанные к определенному направлению
Если по функционалу смотреть, то второе вложение меню всегда раскрыто, всплывает при наведении только третье вложение в котором находятся Статьи.

Вот запрос меню, можно на его примере мне немного пояснить?
    <!-- Menu -->
    <xsl:template match="udata[@module = 'content'][@method = 'menu']" mode="top_menu">
        <xsl:apply-templates select="item" mode="top_menu"/>
    </xsl:template>

    <xsl:template match="udata[@module = 'menu']/item" mode="top_menu">
        <li class="tab">
            <span>
                <xsl:choose>
                    <xsl:when test="position() = 2">
                        <xsl:attribute name="class">Test1</xsl:attribute>
                    </xsl:when>
                    <xsl:when test="position() = 4">
                        <xsl:attribute name="class">Test2</xsl:attribute>
                    </xsl:when>
                    <xsl:when test="position() = 6">
                        <xsl:attribute name="class">Test3</xsl:attribute>
                    </xsl:when>
                    <xsl:when test="position() = 8">
                        <xsl:attribute name="class">Test4</xsl:attribute>
                    </xsl:when>
                </xsl:choose>
                <xsl:value-of select="."/>
            </span>
            <xsl:apply-templates select="document(concat('udata://content/menu/0/2/', @id))/udata" mode="top_drop">
                <xsl:with-param name="position" select="position()"/>
            </xsl:apply-templates>
        </li>
    </xsl:template>

    <xsl:template match="udata" mode="top_drop"/>

    <xsl:template match="udata[items]" mode="top_drop">
        <xsl:param name="position"/>
        <div class="tab-content">
            <div class="menu__wrap">
                <xsl:if test="count(items/item) &gt; 20">
                    <xsl:attribute name="class">menu__wrap menu__wrap--long-list</xsl:attribute>
                </xsl:if>
                <ul>
                    <xsl:apply-templates select="items/item" mode="top_drop"/>
                </ul>

            </div>
            <xsl:if test="count(items/item) &gt; 20">
                <button class="btn-menu__show-more">Все направления</button>
            </xsl:if>
        </div>
    </xsl:template>

    <xsl:template match="item" mode="top_drop">
        <li>
            <xsl:if test="position() = 20">
                <xsl:attribute name="class">long-list-breaker</xsl:attribute>
            </xsl:if>
            <xsl:value-of select="link"/>
            <a href="{@link}">
                <xsl:value-of select="@name"/>
            </a>
            <xsl:apply-templates select="items" mode="top_drop3"/> <!-- по сути мне надо вывести в правый блок меню, начиная отсюда-->
        </li>
    </xsl:template>


    <xsl:template match="items" mode="top_drop3">
        <span class="polygon"></span>
        <div class="under_menu">
            <div class="block-info">
                <div class="list-services">
                    <xsl:apply-templates select="item" mode="top_drop3"/>
                </div>
            </div>
        </div>
    </xsl:template>


    <xsl:template match="item" mode="top_drop3">
        <a href="{@link}">
            <xsl:value-of select="@name"/>
        </a>
    </xsl:template>

Вывожу меню:
<xsl:apply-templates select="document('udata://menu/draw/1307')" mode="top_menu"/>

Такое чувство, что я что-то пропустила...


*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Шаблон html в xsl с нуля?
« Ответ #58 : 06 Марта 2016, 22:37:03 »

Такое чувство, что я что-то пропустила...


Примерно половину документации?

Предлагаю еще раз внимательно прочитать что написано в инструкции по использованию макроса
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Шаблон html в xsl с нуля?
« Ответ #59 : 06 Марта 2016, 23:52:42 »
Я читала, я хоть правильно рассуждала до момента, когда написала что запуталась.