Создаем типовую, даем ей название, вносим настройки:
<?php
$shop = & singleton('shop');
$end_array_item = end($GLOBALS['URL_ARRAY']);
$page = to_str($end_array_item);
$result = $shop->GetPathProducer($page);
if (to_int($result['shop_producers_list_id']) > 0)
{
$GLOBALS['producer_id'] = to_int($result['shop_producers_list_id']);
$saller_row = $shop->GetProducer($GLOBALS['producer_id']);
$kernel = & singleton('kernel');
$seo_title = $saller_row['shop_producers_list_name'];
$seo_description = $saller_row['shop_producers_list_name'];
$seo_keywords = $saller_row['shop_producers_list_name'];
// Title для производителя задан
if (!empty($saller_row['shop_producers_list_seo_title']))
{
$seo_title = $saller_row['shop_producers_list_seo_title'];
}
// Описание для производителя задано
if (!empty($saller_row['shop_producers_list_seo_description']))
{
$seo_description = $saller_row['shop_producers_list_seo_description'];
}
// Ключевые слова для производителя заданы
if (!empty($saller_row['shop_producers_list_seo_keywords']))
{
$seo_keywords = $saller_row['shop_producers_list_seo_keywords'];
}
$kernel->set_title($seo_title);
$kernel->set_description($seo_description);
$kernel->set_keywords($seo_keywords);
}
else
{
$GLOBALS['producer_id'] = 0;
}
?>
Код типовой:
<?php
$shop = & singleton('shop');
if (to_int($GLOBALS['producer_id']))
{
$xsl_name = to_str($GLOBALS['LA']['xsl_name']);
$shop->ShowProducer($GLOBALS['producer_id'], $xsl_name);
}
else
{
$xsl_name = to_str($GLOBALS['LA']['xsl_list_name']);
$param = array();
$param['shop_id'] = to_int($GLOBALS['LA']['shop_id']);
$shop->ShowProducersList($xsl_name, $param);
}
?>
В типовой создаете два параметра типа "XSL-шаблон":
Название параметра "XSL вывода производителя", Название переменной "xsl_name"
Название параметра "XSL вывода списка производителей", Название переменной "xsl_list_name"
XSL-шаблон "МагазинПроизводитель":
<?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="/producer">
<h1><xsl:value-of disable-output-escaping="no" select="name"/></h1>
<xsl:if test="image != ''">
<img src="/upload/shop_1/producers/{image}" vspace="5" border="0"/>
</xsl:if>
<xsl:if test="description != ''">
<p><xsl:value-of disable-output-escaping="yes" select="description"/></p>
</xsl:if>
<p><a href="/shop/?producer_id={@id}">Все товары <xsl:value-of disable-output-escaping="no" select="name"/></a></p>
</xsl:template>
</xsl:stylesheet>
XSL-шаблон "МагазинСписокПроизводителей":
<?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="/">
<h1>Список брендов</h1>
<xsl:if test="error=1">
<div id="error">
<b>Бренды не найдены</b>
</div>
</xsl:if>
<table cellspacing="0" cellpadding="0" border="0" width="100%" class="brand_table">
<tr>
<xsl:apply-templates select="producerslist/producer"/>
</tr>
</table>
</xsl:template>
<xsl:template match="producer">
<td width="25%" align="center" valign="top">
<div>
<table width="170">
<tr>
<td align="center">
<a href="/brends/{shop_producers_list_path}/"><img src="/upload/shop_1/producers/{image}"/></a>
</td>
</tr>
<tr>
<td align="center">
<a href="/brends/{shop_producers_list_path}/"><xsl:value-of disable-output-escaping="no" select="name"/></a>
</td>
</tr>
<tr>
<td align="center">
<p></p>
</td>
</tr>
</table>
</div>
</td>
<xsl:if test="position() mod 4 = 0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr valign="top">
</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Ссылка в XSL "МагазинТовар":
<xsl:if test="producer/name != ''">
<p>Производитель: <a href="{/shop/path}producers/{producer/path}/"><b><xsl:value-of disable-output-escaping="yes" select="producer/name"/></b></a></p>
</xsl:if>