Как в HostCMS вывести список групп с фотками
Мне это понадобилось для реализации каталога тканей в мебельном интернет-магазине.
Т.е. суть вот в чем: есть несколько групп тканей, а в каждой группе ткани разбиты на коллекции.
Вот надо сделать так, чтобы пользователь увидел все коллекции конретной группы тканей.
Пример тут.
А вот как это реализовано:
<?php
/* ID Информационной системы */
$InformationSystem_id = 16;
/* ID Группы */
$InformationGroup_id = 17;
/* ID xsl-шаблон */
$xsl_list = «Ткани»;
$InformationSystem = & singleton ('InformationSystem');
$external_propertys = array ();
$external_propertys['ПоказыватьГруппу'] = $InformationGroup_id;
$property = array ();
$property['xml_show_group_type'] = 'all';
$InformationSystem->ShowInformationSystem ($InformationSystem_id, false, $xsl_list, 1000000000, 0, $external_propertys, $property);
?>
Ну и код xsl-шаблона «Ткани»:
<?xml version= «1.0» encoding= «utf-8»?>
<!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= «utf-8» indent= «yes» method= «html» omit-xml-declaration= «no» version= «1.0» media-type= «text/xml“/>
<xsl:template match=“/“>
<xsl:apply-templates select=“/document“/>
</xsl:template>
<xsl:template match=“/document»>
<xsl:variable name= «group_id_show» select= «ПоказыватьГруппу» />
<xsl:apply-templates select= «blocks/group[@id=$group_id_show]»/>
</xsl:template>
<xsl:template match= «group»>
<h3>
<xsl:value-of disable-output-escaping= «yes» select= «name»/>
</h3>
<xsl:apply-templates select= «group» mode= «second»/>
</xsl:template>
<xsl:template match= «group» mode= «second»>
<h2 style= «font-size: 12pt;»><strong><xsl:value-of disable-output-escaping= «yes» select= «name»/></strong></h2>
<xsl:variable name= «group_id“ select=“@id“ />
<table style=“» cellpadding= «0» cellspacing= «0» border= «0»>
<tr>
<td style= «text-align: left»>
<xsl:variable name= «group_tab» select= «3“ />
<xsl:apply-templates select=“/document/blocks/items/item[@group_id=$group_id]“ />
</td>
</tr>
</table>
</xsl:template>
<xsl:template match=“/document/blocks/items/item»>
<div class= «tkk»>
<!-- Изображение для информационного элемента (если есть) →
<xsl:if test= «item_small_image!=''“>
<a href=“{item_image}“ alt=“{item_name}“ title=“{item_name}» class= «gallery» rel= «group“>
<img src=“{item_small_image}» class= «news_img“ alt=“» align= «left» border= «0»/>
</a>
</xsl:if>
<!-- Название →
<div>
<xsl:value-of disable-output-escaping= «yes» select= «item_name»/>
</div>
<div style= «clear: both;»></div>
</div>
</xsl:template>
</xsl:stylesheet>
HostCMS
07.02.2011, 607 просмотров.
|