Новости

Новые реквизиты
28 марта 2016г.
СтройДоставка
03 июля 2015г.
Картины33
25 мая 2015г.

Как в 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, 8681 просмотр.