Помогите с созданием динамической страницы на основе списков
Re: Помогите с созданием динамической страницы на основе списков
natalya,после того, как я вставил в шаблон для отображения АВТОРОВ код, приведённый Вами выше для отображения списка, и в типовой динамической странице ИС Статьи (в настройках страницы) вставил код обрабатывающий запросы на выборку статей, то в итоге возникает ошибка:
Ошибка номер 2 XSL преобразования шаблона 'СписокДел':
XML parser error 4: not well-formed (invalid token)
Re: Помогите с созданием динамической страницы на основе списков
Код, приведенный мною, нужно вставлять в саму тип. дин. страницу, но не в ее настройки.
Что касается ошибки - это ошибка XSLT-преобразования. Искать ошибку нужно в XSL-шаблоне "СписокДел". Приведите его код.
Re: Помогите с созданием динамической страницы на основе списков
но если я убираю код отображения списка, то всё работает
Re: Помогите с созданием динамической страницы на основе списков
Сообщите адрес сайта, доступ к админке, адрес страницы с ошибкой на адрес службы тех. поддержки.
Re: Помогите с созданием динамической страницы на основе списков
я испольхование списка вставил в работающий шаблон, и перестаёт работать
Re: Помогите с созданием динамической страницы на основе списков
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml" />
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="/document">
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="blocks/parent_group_id" />
<!-- Если в находимся корне - выводим название информационной системы -->
<xsl:if test="blocks/parent_group_id=0">
<div id="kroski"><a href="/">Главная</a> / <xsl:value-of disable-output-escaping="yes" select="blocks/name" /></div>
<h1><xsl:value-of disable-output-escaping="yes" select="blocks/name" /></h1>
<xsl:value-of disable-output-escaping="yes" select="blocks/description" />
</xsl:if>
<!-- Если в находимся в группе - выводим название группы -->
<xsl:if test="blocks/parent_group_id!=0">
<div id="kroski"><a href="/">Главная</a> / <xsl:apply-templates select=".//group[@id=$parent_group_id]" mode="goup_path" /></div>
<h1><xsl:value-of disable-output-escaping="yes" select=".//group[@id=$parent_group_id]/name" /></h1>
<!-- Путь к группе -->
<p></p>
</xsl:if>
<!-- Отображение подгрупп данной группы -->
<xsl:apply-templates select=".//group[@parent_id=$parent_group_id]" mode="groups" />
<!-- Отображение записи информационного блока -->
<p>
<!-- Строка ссылок на другие страницы информационного блока -->
<xsl:if test="ОтображатьСсылкиНаСледующиеСтраницы=1">
<xsl:call-template name="for">
<xsl:with-param name="items_on_page" select="blocks/items/items_on_page" />
<xsl:with-param name="current_page" select="blocks/items/current_page" />
<xsl:with-param name="count_items" select="blocks/items/count_items" />
<xsl:with-param name="visible_pages" select="6" />
</xsl:call-template>
</xsl:if>
</p>
<div style="clear: both"></div>
</xsl:template>
<!-- ======================================================== -->
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<!-- ======================================================== -->
<xsl:template match="group" mode="goup_path">
<xsl:variable name="parent_id" select="@parent_id" />
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path" />
<xsl:if test="@parent_id=0">
<a href="{/document/blocks/url}"><xsl:value-of disable-output-escaping="yes" select="/document/blocks/name" /></a>
</xsl:if>
<span class="path_arrow">→</span>
<a href="{/document/blocks/url}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name" /></a>
</xsl:template>
<!-- ======================================================== -->
<!-- Шаблон выводит ссылки подгруппы информационного элемента -->
<!-- ======================================================== -->
<xsl:template match="group" mode="groups">
<h1><xsl:value-of disable-output-escaping="yes" select="name" /></h1>
<xsl:variable name="p_id" select="@id" />
<xsl:apply-templates select="/document/blocks/items/item[@group_id=$p_id]" />
</xsl:template>
<!-- ======================== -->
<!-- Данные об инф. элементах -->
<!-- ======================== -->
<xsl:template match="blocks/items/item">
<!-- ======================== -->
<!-- Список клиентов -->
<!-- ======================== -->
<p><a href="{item_path}" class="f_v"><xsl:value-of disable-output-escaping="yes" select="item_name" /></a>
</p>
</xsl:template>
</xsl:stylesheet>
это текст шаблона Списокдел (тут он выводит ссылки на элементы ИС в разбивке по каталогам)
Re: Помогите с созданием динамической страницы на основе списков
Ошибка в том, что вызывается именованный шаблон <xsl:call-template name="for">, определения которого в коде XSL-шаблона нет. Закомментируйте блок вызова шаблона, чтобы получилось так:
<!--
<xsl:call-template name="for">
<xsl:with-param name="items_on_page" select="blocks/items/items_on_page" />
<xsl:with-param name="current_page" select="blocks/items/current_page" />
<xsl:with-param name="count_items" select="blocks/items/count_items" />
<xsl:with-param name="visible_pages" select="6" />
</xsl:call-template>
-->
Re: Помогите с созданием динамической страницы на основе списков
к сожаленью, после закомментирования та же проблема
Re: Помогите с созданием динамической страницы на основе списков
я могу вывести все статьи из ИС СТАТЬИ (другим шаблоном). Как мне их просто сгруппировать по дополнительному полю "автор", которое есть у каждой статьи ?
Re: Помогите с созданием динамической страницы на основе списков
хотя надо, чтобы после группировки авторы стали ссылками