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

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - r1212121212

Страницы: [1]
1
Шаблоны XSLT / Re:Модуль новостей xslt
« : 24 Октября 2013, 15:14:52 »
Сделал так
главный шаблон default.xsl
<div class="mydiv">

        <xsl:value-of select="//property[and @type='wysiwyg']/value" disable-output-escaping="yes" />
 

     <xsl:if test="/result/@pageId='11'">
<p>Текст </p>
<xsl:apply-templates select="document('udata://news/lastlist/(/namePageAllNews/)/')//item"/>
</xsl:if>

файл news.xml
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="item">

<xsl:value-of select="document(concat('upage://',@id))/udata/page/properties/group/property[@name='anons']/value" disable-output-escaping="yes"/>

</xsl:template>

</xsl:stylesheet>
Так выводит и все вроде бы работет, но так ли нужно похорошему делать?
В default.xsl, используется  конструкцию  <xsl:if (нельзя ли здесь применить
<xsl:template match 

//так не работет
<xsl:template match="result[@pageId='11]" > //в этой строке [quote]compilation error[/quote]
 <h2>Новости</h2>
<xsl:apply-templates select="document('udata://news/lastlist/(/namePageAllNews/)/')//item"/>
</xsl:template> -->


И в news.xml, можно ли  улучшить?

2
Шаблоны XSLT / Re:Модуль новостей xslt
« : 21 Октября 2013, 16:03:27 »
<xsl:apply-templates select= "document(concat('udata://news/lastlist/', result/@pageId, '/3'))//item"/>
Вот это верный след, кажется - выводит 21
Скорее всего из
 lent_link="/n/">2
 lent_link="/n/">1
Это если посмотреть http://umi/udata/news/lastlist/n/.

Как отсуда вытащить аноносы новостей?

<xsl:apply-templates select= "document(concat('udata://news/lastlist/', result/@pageId, '//content/news/3/3'))//item"/>
В шаблоне content/news.xsl  и здесь как то вытягивать ?

3
Шаблоны XSLT / Re:Модуль новостей xslt
« : 21 Октября 2013, 15:07:37 »
Посмотрел документацию
http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/novosti/news_lastlist/#xslt-templating
Изменил код файл news.xml перекинул в другую папку
 news.xm
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="result[@module = 'news' and @method = 'item']">
<xsl:value-of select="page//property[@name = 'content']/value" disable-output-escaping="yes" />
</xsl:template>

<xsl:template match="result[@module = 'news' and @method = 'rubric']">
<xsl:apply-templates select="document('udata://news/lastlist')/udata" />



</xsl:template>

<xsl:template match="udata[@module = 'news' and @method = 'lastlist']">
<xsl:apply-templates select="items">
<xsl:with-param name="list-class">
<xsl:text>news-lastlist</xsl:text>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>


</xsl:stylesheet>

default.xsl - шаблон по умолчанию
//в нем
<div class="my">
<xsl:apply-templates select="document('udata://content/news/')/udata"/>

</div>


Если правильно понял
<xsl:apply-templates select="document('udata://content/news/')/udata"/>
принменем шаблон (вызываем можно сказать)

в самом шаблоне проверяем на какой странице вызвали, если новости то что то делаем.
здесь <xsl:apply-templates select="document('udata://news/lastlist')/udata"
должны выводится последние новости.
Сейчас ничего не выводиться, ни ошибки, пустой div.
Что не правильно?

Посмотрел в брузере
mysait/udata/content/news
пишет"<udata module="content" method="news" generation-time="0.041019"><error code="require-more-permissions">Ваших прав недостаточно, чтобы совершить это действие.</error></udata>"

Ведь лента новостей есть - что за ошибка?

4
Шаблоны XSLT / Re:Модуль новостей xslt
« : 21 Октября 2013, 13:36:46 »
Прочитал еще раз ссылки (на yuotube смотрел).

файл  imports/news.xsl
<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


 <xsl:template match="result[@module = news]" >
 
<h2>Новости</h2>



<xsl:value-of select="document(concat('upage://', @id, '.anons'))/udata/property/value" disable-output-escaping="yes" /> <!-- это для анонсов -->

</xsl:template>



</xsl:stylesheet>
подклчил это в основном шаблоне , до <xsl:template match="/" > конечно

<xsl:include href="imports/news.xsl" />
 
<xsl:template match="/" >

В основно шаблоне в нужном dive пытаюсь вывести
<div class="mydiv">
<xsl:apply-templates select="document('udata://imports/news/')/udata"/>
</div>

Заходим на страницу новостей ( на ней нужно вывести три анонса последних новостей)  mysait/pagenews.

Что получается - страница не ломается, но в этом диве выводиться
Цитировать
Ваших прав недостаточно, чтобы совершить это действие.

В чем ошибка?

5
Шаблоны XSLT / Re:Модуль новостей xslt
« : 21 Октября 2013, 01:31:08 »
Спасибо, кое-что стало понятным.

Конкретный пример в админке создал ленту новостей, к ней добавил 5 новостей(у каждой новости анонос с изображением и текст с изображение).
Теперь нужно сформировать страницу с анонсами трех последних новостей.
Анонсы новостей нужно вывести в конкретном div-e
<div class="mydiv">
        <xsl:value-of select="//property[@name='content']/value" disable-output-escaping="yes" />
      </div>
В этом div-е выводится (на других страницах (в браузере)) текст из других страниц (имеется ввиду страниц сформированных в админки, конечно). А на странице анонса новостей только - аносы этих новостей - в этом же dive.

То есть анонсы нужно вытащить из контента макросами и в формате xslt (используется именно он, не tpl) и  вставить в этот div - подключая какой то шаблон?

<div class="mydiv">
        <xsl:value-of select="//property[@name='content']/value" disable-output-escaping="yes" />
//что здесь нужно писать
      </div>


6
Шаблоны XSLT / Модуль новостей xslt
« : 20 Октября 2013, 17:58:54 »
Нужно добавить ленту новостей - есть два варианта
1) через админку (модуль новости)
2) XSLT http://dev.docs.umi-cms.ru/prakticheskie_primery/lenty_novostej_sredstvami_xslt-shablonizatora/

Как правильней делать ? И зачем два варианта( то есть  в чем разница)?

И если делать через админку
то как вывести анонсы - например трех последних новостей.
В нужном div-е  -> который в основном шаблоне и внутри этого дива на статических страницах выводится контент соответствующих страниц.
<div class="mydiv">
        <xsl:value-of select="//property[@name='content']/value" disable-output-escaping="yes" />
      </div>
Если страница анонса новостей то этого контента нет (другая страница ).
Но <xsl:value-of select= остается в основном шаблоне - это нормально ?

Как понимаю нужно в
<div class="mydiv"></div>
добавить подключение шаблона ?


7
Вы правильно поняли . Спасибо.

8
Спасибо за ответ.
Цитировать
Если я правильно понял вашу проблему, то вы хотите узнать, как добавляя картинки через админку в поле типа html (используя визуальный редактор и всплывающее окно файлового менеджера) обратиться к папке /templates/images?
Есть div в главном шаблоне ,  в нем шаблон на разных страницах выводит разный текст, в одном из текстов есть картинки их нужно вывести, это можно сделать - добавив их в www//images и затем перетянув.
Но тогда зачем эта папка templates/images - там только картинки для .xslt файлов и css. Так что ли?

9
Шаблоны XSLT / Картинки для div через админку
« : 20 Октября 2013, 14:11:33 »
Если нужно добавить, пусть внтури div элемента ряд картинок. Это можно сделать с помощью кнпки "Библиотка изображений", но картинка загружается в папку images (www/images  - иметься ввиду).
 С версии 2.8.5 есть папка templates/images - и нужно от туда взять картинку.
Как это сделать.

Если переформулировать вопрос, то
шаблон по умолчанию
<div class="center">
        <xsl:value-of select="//property[@name='content']/value" disable-output-escaping="yes" />
      </div>
страница для шаблона
<p>Текст</p>
<div class="img_1">
<img src="/images/img1.jpg" border="0" alt=""  />
<img src="/images/img2.jpg" border="0" alt=""  />
</div>
Если в админке в html писать к картинке путь, то UMI  добавляет имя  текущей страницы  ( nameThisPage/images/img1.jpg), если посмотреть код в браузере. Это php само добавляет - nameThisPage.
Можно ли взять картинки из templates/images (конечно в самой странице)?


10
спасибо за ответ. В документации эти моменты почему то не освещаются

11
Шаблоны XSLT / Страница создаваея в админки
« : 20 Октября 2013, 02:24:19 »
привет.
Есть рад вопросов по странице создаваемой в админке.
1. Где храниться страница создаваемая в админке.
То есть если нужно что то править через какой - либо блокнот, а не в самой админке. (Если так конечно - правильно делать)?
2. Создаваемая в админке страница - это тоже xml  (или xslt) файл?

Страницы: [1]