Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

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

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Объясните что такое mode?
« : 21 Февраля 2016, 18:59:42 »
Я читаю mode, но не могу все равно понять...

Смотрю примеры есть mode="page" или mode="zapros-vichislenii", откуда они берутся или по какому принципу создаются?

И какая разница mode="form-modify1" и mode="form-modify".


В поиске я нахожу все что угодно, кроме определения.

Уже честно просто в отчаянье, т.к. просто не знаю как дальше из-за таких тупиковых вопросов делать сайт Т_Т
« Последнее редактирование: 21 Февраля 2016, 19:02:28 от Sumrakrnd »

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #1 : 21 Февраля 2016, 19:17:09 »
с поиском видимо тоже не особо https://msdn.microsoft.com/ru-ru/library/ms256110%28v=vs.120%29.aspx

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #2 : 21 Февраля 2016, 20:16:54 »
Круто. И?
Я видела эту статью, я не говорила что я не могу найти описание.
Я не могу понять сам принцип.

Т.е. почему тут mode="page"
<xsl:template match="result/page[@id = '98']" mode="page"></xsl:template>

а тут mode="human"
<xsl:template match="udata" mode="human"></xsl:template>

Почему есть leftcol или rightcol?
Откуда они берутся?

Почему воссоздав типы даны и запросы, так же структуру, взяв готовый код, НО он не идет дальше xsl:template, если пишешь для проверки тот же 123, цифры не появляются, значит запрос не проходит на стадии mode и match. Страница прописана, везде обращение к файлу есть.
Так из-за чего?
	<xsl:template match="result/page[@id = '272']" mode="page">

        <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>


*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #3 : 21 Февраля 2016, 23:10:48 »
там более чем понятно написано, скажем <xsl:apply-templates select="page" mode="human" /> запрашивает вывод шаблона, с помощью select выбираем УЗЕЛ xml документа(текущего или полученного с помощью запроса протоколу udata, upage или uhttp), над которым будем проводить преобразование, в нашем случае это узел upage текущего документа с которым уже работаем с помощью. С помощью mode назначаем режим, проще говоря название шаблона.

Соответственно шаблон должен быть описан так <xsl:template match="page" mode="human">... select > match, mode > mode. Не пойму что непонятного...

не знаю, может быть это поможет http://umihelp.ru/courses/record-xslt-course-full/

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #4 : 22 Февраля 2016, 01:59:26 »
Интересная штука, но денег нет.....

select > match, mode > mode - тут я понимаю структурно, хоть и очень смутно.
Если бы у меня было в запасе недели две, я бы разобралась, но проблема в том, что нету у меня этого времени -_-"

Вы немного съехали с конкретного вопроса на основе примера.
Уберу лишнее, вот кусочек кода, получается результат должен высветиться на странице с id 272, с взятым mode page. include прописаны везде прописаны
На странице должен быть текста 123? так?
Но его нету.
Что не так?
<xsl:template match="result/page[@id = '272']" mode="page">
 123
</xsl:template>

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #5 : 22 Февраля 2016, 02:19:25 »
нет, не так, это шаблон для узла page с id 272, являющимся прямым ребенком result, нужно же обрабатывать узел result

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

как-то так, но не факт что это и выйдет, т.к. могут встретиться шаблоны для узла result c большим приоритетом


*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #6 : 22 Февраля 2016, 02:25:02 »
да, не сработало..
Но у меня нигде не стоит приоритета..

Его можно как то специально выставить, да?

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #7 : 22 Февраля 2016, 02:30:30 »
должен срабатывать шаблон при прочих равных, который подключается последним для данного узла, но можно задать приоритет искусственно
<xsl:template match="result[page/@id = '272']" mode="page" priority="1">
 123
</xsl:template>

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #8 : 22 Февраля 2016, 02:52:36 »
Блин... почему это работает
<xsl:template match="result[page/@is-default = 1]" mode="rightcol">
1213123
</xsl:template>

вот с таким вызовом:
<xsl:apply-templates select="result" mode="rightcol" />


А этот нет ><
<xsl:template match="result[page/@id = '272']" mode="page" priority="1">
 123
</xsl:template>

Как поняла принцип один же?




P.S. правый блок выводится на этой странице, а центральная не хочет...
« Последнее редактирование: 22 Февраля 2016, 02:57:38 от Sumrakrnd »

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Объясните что такое mode?
« Ответ #9 : 01 Марта 2016, 22:22:15 »
Здесь поможет усидчивость и посимвольное сравнение :-)
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Объясните что такое mode?
« Ответ #10 : 01 Марта 2016, 22:56:11 »
Ой) Да с модами я уже разобралась ^_^"