UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Axiomateria от 09 Июля 2013, 14:54:15

Название: Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 09 Июля 2013, 14:54:15
И снова здравствуйте!
Основываясь на теме http://umihelp.ru/forum/index.php/topic,1128.msg3656.html#msg3656  я немного отредактировал шаблон category-view.xsl  из набора "demodizzy"в папке ../modules/catalog/

и в категории (то есть в разделе) туров у меня успешно выводятся ссылки на программы туров так:
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/', page/@id, '////2/'))/udata" mode="table-view" />

сама ссылка на тур выводится уже далее в шаблоне так:

    <xsl:template match="udata[@method = 'getObjectsList'][total]" mode="table-view">      
         <xsl:apply-templates select="lines/item">
            <xsl:with-param name="cart_items" select="document('udata://emarket/cart/')/udata/items" />
         </xsl:apply-templates>                    
            <xsl:apply-templates select="total" />   
   </xsl:template>

и в конечном виде так:    
<xsl:template match="page|item">         
    <a href="{@link}" title="{.//property[@name='h1']/value}">
            <xsl:value-of select="name" />
            <xsl:if test="not(name)">
               <xsl:apply-templates />
            </xsl:if>
         </a>
   </xsl:template>


И вот теперь суть вопроса:
надо в этой категории (разделе) туров что бы помимо ссылки на сам тур вывести ещё три его значения параметров как:
1. дата заезда (с и по)
2. количество дней (3 дня)
3. дни недели (пн-ср)
. и сама ссылка на тур, которая и так уже выводиться.
Эти данные параметров и их значений успешно введены и выводятся на уровне просмотра каждого объекта отдельно в своём шаблоне object-view.xsl  

А вот как сделать что бы на уровне категории (раздела) эти данные подгружать для каждого объекта?
(планируется в табличной форме их выводить).

Через <xsl:copy-of select="." /> в xml файле страницы категории (разделов)  туров эти параметры так же видны, вот кусочек кода с ними:

<body>
<property id="124" name="h1" type="string">
<title>Поле H1</title>
<value>Столица Российской империи - 3 дня</value>
</property><property id="429" name="start_tour" type="date">
<title>Начало тура</title>
<value formatted-date="01.07.2013 00:00" unix-timestamp="1372622400">Mon, 01 Jul 2013 00:00:00 +0400</value>
</property><property id="430" name="end_tour" type="date">
<title>Окончание тура</title>
<value formatted-date="03.07.2013 00:00" unix-timestamp="1372795200">Wed, 03 Jul 2013 00:00:00 +0400</value>
</property><property id="432" name="day_score" type="relation">
<title>Количество дней</title>
<value><item id="683" name=" - 3 дня" type-id="138" ownerId="628" xlink:href="uobject://683"/></value>
</property>

 вопрос конечно каких вытащить наружу ?

Вот вроде бы ещё одна тема похожая по смыслу моего вопроса, только про макрос "getCategoryList":
http://umihelp.ru/forum/index.php/topic,1519.msg6158.html#msg6158
там речь идёт о вытаскивания наружу отдельных значений параметров из объектов каталога...
Название: Re:Вывод объектов каталога с отдельными хар&#
Отправлено: thecoder от 09 Июля 2013, 15:21:41
у меня сделано так (может и не правильно, сам еще учусь, но работает)

<xsl:value-of select="document(concat('upage://', $link,'.num_house'))//value"/>

выводит номер дома
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 09 Июля 2013, 16:03:21
<xsl:value-of select="document(concat('upage://', $link,'.num_house'))//value"/>

$link - это переменная от чего именно ? и кстати, этот вызов вы в какую конкретно часть шаблона вставляете ?  
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: thecoder от 09 Июля 2013, 16:10:17
на странице надо вывести список объявлений из раздела каталога
 <xsl:apply-templates select="document('udata://catalog/getObjectsList/0/53')/udata" mode =  "adv"/>

потом шаблон вывода каждого объявления

<xsl:template match="udata[@module = 'catalog'][@method = 'getObjectsList']" mode = "adv">
в котором
<xsl:apply-templates select="lines/item" mode="adv"/>

<xsl:template match="item" mode="adv">
        <xsl:variable name="link" select="@link"/>
        ............
        <xsl:value-of select="document(concat('upage://', $link,'.num_house'))//value"/>
</xsl:template>

@link - ссылка на страницу объекта каталога, которую уже и обрабатываешь через upage.

Но мой подход скорее все не правильный. т.к. если таким образом выводить 10 значений из объявления, то будет 10 обращений к БД, что не есть гуд, т.к. замедляет работу. Надо как-то решить этот вопрос за одно обращение. Может admin подскажет как сделать.
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 09 Июля 2013, 20:17:22
... мой подход скорее все не правильный. т.к. если таким образом выводить 10 значений из объявления, то будет 10 обращений к БД, что не есть гуд, т.к. замедляет работу. Надо как-то решить этот вопрос за одно обращение. Может admin подскажет как сделать....

Я уже составил обращение с вопросом к уважаемому admin про расширенный вывод значений параметров к объекту в с списке превьюшек категории (раздела). Будем ожидать ответа.
У меня пока ни чего получается с этим...
В demodizzyy превьюшки объектов в списке категории очень-таки упрощённые по сравнению с тем же магазином хомячков...
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: admin от 09 Июля 2013, 22:02:15
вс
на странице надо вывести список объявлений из раздела каталога
 <xsl:apply-templates select="document('udata://catalog/getObjectsList/0/53')/udata" mode =  "adv"/>

потом шаблон вывода каждого объявления

<xsl:template match="udata[@module = 'catalog'][@method = 'getObjectsList']" mode = "adv">
в котором
<xsl:apply-templates select="lines/item" mode="adv"/>

<xsl:template match="item" mode="adv">
        <xsl:variable name="link" select="@link"/>
        ............
        <xsl:value-of select="document(concat('upage://', $link,'.num_house'))//value"/>
</xsl:template>

@link - ссылка на страницу объекта каталога, которую уже и обрабатываешь через upage.

Но мой подход скорее все не правильный. т.к. если таким образом выводить 10 значений из объявления, то будет 10 обращений к БД, что не есть гуд, т.к. замедляет работу. Надо как-то решить этот вопрос за одно обращение. Может admin подскажет как сделать.

вариант имеет место быть, а вообще у вас есть 3 варианта

1. при обработке каждого item в шаблоне для краткой карточки товара сделать по отдельному вызову для каждого параметра, как предложил thecoder

2. при обработке каждого item в шаблоне для краткой карточки товара получить xml с информацией о странице (один запрос) и работать уже с ней вытягивая из него дочерние узлы и атрибуты, как будто вы работаете со страницей данного товара (разница только в том что вы подставляете переменную из которой вытягиваете какие-то данные). Пример на основе thecoder  примера:
<xsl:template match="item" mode="adv">
        <xsl:variable name="link" select="@link"/>
        <xsl:variable name="item_info" select="document(concat('upage://', $link))/udata"/>
        ............
        <xsl:value-of select="$item_info//property[@name='num_house']/value"/>
        <xsl:value-of select="$item_info//property[@name='day_score']/value/item/@name"/>

3. при вызове макросов которые возвращают списки чего-то (список категорий, список товаров, список новостей) вы можете воспользоаться параметром ?extProps который сразу вернет вам необходимые данные (см в документации (http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/makrosy_protokol_udata/#extended)). В итоге указав эти свойства в вызове:

<xsl:apply-templates select="document('udata://catalog/getObjectsList/0/53?extProps=day_score,num_house')/udata" mode =  "adv"/>

вы можете спокойно их выводить в шаблоне краткой карточки, так как они уже присутствуют в вашем xml
<xsl:template match="item" mode="adv">
        ............
        <xsl:value-of select=".//property[@name='num_house']/value"/>
        <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/>

только помните что раз у вас появились доп данные то вызов в краткой карточке вида
<xsl:apply-templates />
(вы используете его при выводе имени) выведет еще и внутреннюю информацию о расширенных полях, так что замените его на
<xsl:value-of select="text()" />
, который выведет только текст текущего узла (то что вам и надо)
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 10 Июля 2013, 14:32:27
Я решил использовать третий вариант:
3. при вызове макросов которые возвращают списки чего-то (список категорий, список товаров, список новостей) вы можете воспользоаться параметром ?extProps который сразу вернет вам необходимые данные (см в документации (http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/makrosy_protokol_udata/#extended)). В итоге указав эти свойства в вызове:

<xsl:apply-templates select="document('udata://catalog/getObjectsList/0/53?extProps=day_score,num_house')/udata" mode =  "adv"/>

вы можете спокойно их выводить в шаблоне краткой карточки, так как они уже присутствуют в вашем xml
<xsl:template match="item" mode="adv">
        ............
        <xsl:value-of select=".//property[@name='num_house']/value"/>
        <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/>

только помните что раз у вас появились доп данные то вызов в краткой карточке вида
<xsl:apply-templates />
(вы используете его при выводе имени) выведет еще и внутреннюю информацию о расширенных полях, так что замените его на
<xsl:value-of select="text()" />
, который выведет только текст текущего узла (то что вам и надо)

Однако что-то или где-то я упустил или недопонял.
Получается так: пытаюсь вывести данные из свойства поля "Кол-во дней", то есть из "day_score" значение которого у каждого объекта каталога (тура) своё так:
<xsl:apply-templates select="document('udata://catalog/getObjectsList/?extProps=day_score')/udata" mode="dayscore"/> 

Обработка шаблоном этого вывода успешно совершается таким:
    <xsl:template match="udata[@module = 'catalog' and @method = 'getObjectsList']" mode="dayscore">
       <xsl:apply-templates select="lines/item" mode="dayscore"/>      
    </xsl:template>
    <xsl:template match="item" mode="dayscore">
        <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/>  
    </xsl:template>

Однако вот в чём загвоздочка - объектов у меня несколько (то есть пока два тура) и данные по количеству дней как "2 дня", "3 дня" и т.п. должны по идее выводится в каждом объекте (туре) свои собственные.

НО получается так, что в каждом туре количество дней выводиться сразу все значения "2 дня", "3 дня" вместе для обоих туров.

Выглядит это в табличке так:
http://temp03.web-image.ru/travel_tours/prefabricated_tours_to_st_petersburg_for_individual_tourists/

С днями недели такая же несуразица...
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: admin от 10 Июля 2013, 14:50:04
приведите ваш шаблон который выводит краткую карточку товара (из вашего примера это шаблон

<xsl:template match="item" mode="dayscore">
        <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/> 
    </xsl:template>
)

но что-то мне подсказывает, что вы вызываете его немного не там или не так и таким образом подхватываете лишние  данные.
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 10 Июля 2013, 15:03:42
но что-то мне подсказывает, что вы вызываете его немного не там или не так и таким образом подхватываете лишние  данные.

У меня такие же ощущения - накорявил я где-то...

Вот полностью шаблон как есть на данный момент:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi">

  <xsl:template match="/result[@method = 'category' and page/@type-id=150]">                
           <div class="rama">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr align="center" bgcolor="#E2C4A4">
    <td>Заезды</td>
    <td>Кол-во дней</td>
    <td>Дни недели</td>
    <td>Тур</td>
  </tr>
    <xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/', page/@id, '////2/'))/udata" mode="table-view-1" />
</table>
     
           </div>
           <div class="bord3"> </div>
              <xsl:if test=".//property[@name = 'attention']/value">
                  <span class="warning">
                     <xsl:value-of select=".//property[@name = 'attention']/value" disable-output-escaping="yes" />
                  </span>         
              </xsl:if>
              <xsl:if test=".//property[@name = 'descr']/value">
                  <div class="text2">
                     <xsl:value-of select=".//property[@name = 'descr']/value" disable-output-escaping="yes" />
                  </div>
               </xsl:if>                   
</xsl:template>


 
    <xsl:template match="udata[@method = 'getObjectsList']" mode="table-view-1">
<xsl:apply-templates select="document('udata://catalog/search')" />
<xsl:text>&empty-category;</xsl:text>
</xsl:template>
   
    <xsl:template match="udata[@method = 'getObjectsList'][total]" mode="table-view-1">   
<xsl:apply-templates select="lines/item">
<xsl:with-param name="cart_items" select="document('udata://emarket/cart/')/udata/items" />
</xsl:apply-templates>                     
            <xsl:apply-templates select="total" />
</xsl:template>
 
 
    <xsl:template match="udata[@module = 'catalog' and @method = 'getObjectsList']" mode="dayscore">
       <xsl:apply-templates select="lines/item" mode="dayscore"/>     
    </xsl:template>
    <xsl:template match="item" mode="dayscore">
        <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/> 
    </xsl:template>
 
   
    <xsl:template match="udata[@module = 'catalog' and @method = 'getObjectsList']" mode="adv2">
      <xsl:apply-templates select="lines/item" mode="adv2"/>
    </xsl:template>
    <xsl:template match="item" mode="adv2">
      <xsl:value-of select=".//property[@name='first_day_tours']/value/item/@name"/> - <xsl:value-of select=".//property[@name='last_day_tours']/value/item/@name"/>
    </xsl:template>
 
    <xsl:template match="page|item">
    <tr>
    <td><b> 00 </b></td>
    <td>
     <xsl:apply-templates select="document('udata://catalog/getObjectsList/?extProps=day_score')/udata" mode="dayscore"/>           
    </td>
    <td>
       <xsl:apply-templates select="document('udata://catalog/getObjectsList/?extProps=first_day_tours,last_day_tours')/udata" mode="adv2"/>
    </td>
    <td>           
    <a href="{@link}" title="{.//property[@name='h1']/value}">
<xsl:value-of select="name" />
<xsl:if test="not(name)">
<xsl:apply-templates mode="table-view-1" />
</xsl:if>
</a>
    </td>
    </tr>
</xsl:template>
 

</xsl:stylesheet>
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: thecoder от 10 Июля 2013, 15:56:11
Ошибка скорее всего тут:

Цитировать
<xsl:apply-templates select="document('udata://catalog/getObjectsList/?extProps=day_score')/udata" mode="dayscore"/>   
         

getObjectsList Выводит список объектов каталога в указанном разделе.
а раздел у вас не указан.

Я тоже использую getObjectsList, но  у меня так:

udata://catalog/getObjectsList/0/53
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: admin от 10 Июля 2013, 16:31:05
вы не совсем верно применили extProps, Его нужно применять при самом первом вызове, а затем разбирая список который вернул вам макрос внутри item или page (в зависимости от макроса) у вас появляются новые данные, с которыми вы и работаете в шаблоне для item или page. То есть в вашем шаблоне лишние вызовы, лишние шаблоны. Ваш шаблон будет выглядеть так (опять же не проверял, но логика верная)

==========================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM   "ulang://i18n/constants.dtd:file">

<xsl:stylesheet   version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi">

     <xsl:template match="/result[@method = 'category' and page/@type-id=150]">                  
           <div class="rama">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr align="center" bgcolor="#E2C4A4">
               <td>Заезды</td>
               <td>Кол-во дней</td>
               <td>Дни недели</td>
               <td>Тур</td>
              </tr>
               <xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/', page/@id, '////2/?extProps=day_score,first_day_tours,last_day_tours'))/udata" mode="table-view-1" />
            </table>
     
           </div>
           <div class="bord3"> </div>
              <xsl:if test=".//property[@name = 'attention']/value">
                  <span class="warning">
                     <xsl:value-of select=".//property[@name = 'attention']/value" disable-output-escaping="yes" />
                  </span>         
              </xsl:if>
              <xsl:if test=".//property[@name = 'descr']/value">
                  <div class="text2">
                     <xsl:value-of select=".//property[@name = 'descr']/value" disable-output-escaping="yes" />
                  </div>
               </xsl:if>                   
   </xsl:template>


 
    <xsl:template match="udata[@method = 'getObjectsList']" mode="table-view-1">
      <xsl:apply-templates select="document('udata://catalog/search')" />
         <xsl:text>&empty-category;</xsl:text>
   </xsl:template>
   
    <xsl:template match="udata[@method = 'getObjectsList'][total]" mode="table-view-1">      
         <xsl:apply-templates select="lines/item">
            <xsl:with-param name="cart_items" select="document('udata://emarket/cart/')/udata/items" />
         </xsl:apply-templates>                     
            <xsl:apply-templates select="total" />   
   </xsl:template>
 
 
    <!-- <xsl:template match="udata[@module = 'catalog' and @method = 'getObjectsList']" mode="dayscore">
       <xsl:apply-templates select="lines/item" mode="dayscore"/>     
    </xsl:template>
    <xsl:template match="item" mode="dayscore">
        <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/> 
    </xsl:template>
 
   
    <xsl:template match="udata[@module = 'catalog' and @method = 'getObjectsList']" mode="adv2">
      <xsl:apply-templates select="lines/item" mode="adv2"/>
    </xsl:template>
    <xsl:template match="item" mode="adv2">
      <xsl:value-of select=".//property[@name='first_day_tours']/value/item/@name"/> - <xsl:value-of select=".//property[@name='last_day_tours']/value/item/@name"/>
    </xsl:template> -->
 
    <xsl:template match="page|item">   
      <tr>
         <td><b> 00 </b></td>
         <td>                
            <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/>      
         </td>
      <td>            
          <xsl:value-of select=".//property[@name='first_day_tours']/value/item/@name"/> - <xsl:value-of select=".//property[@name='last_day_tours']/value/item/@name"/>
         
      </td>
      <td>           
      <a href="{@link}" title="{.//property[@name='h1']/value}">
               <xsl:value-of select="name" />
               <xsl:if test="not(name)">
                  <xsl:apply-templates mode="text()" />
               </xsl:if>
            </a>
      </td>
      </tr>
   </xsl:template>
 

</xsl:stylesheet>
==========================================

выделили места которые правил
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: admin от 10 Июля 2013, 16:32:35
Ошибка скорее всего тут:

Цитировать
<xsl:apply-templates select="document('udata://catalog/getObjectsList/?extProps=day_score')/udata" mode="dayscore"/>   
         

getObjectsList Выводит список объектов каталога в указанном разделе.
а раздел у вас не указан.

Я тоже использую getObjectsList, но  у меня так:

udata://catalog/getObjectsList/0/53

параметр указывающий id или ссылку страницы, не обязателен, если вы вызываете макрос в разделе товары которого и хотите вывести (то есть макрос в отсутствии этого параметра будет работать с текущим каталогом)
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 10 Июля 2013, 23:23:41
         
      <a href="{@link}" title="{.//property[@name='h1']/value}">
               <xsl:value-of select="name" />
               <xsl:if test="not(name)">
                  <xsl:apply-templates mode="text()" />
               </xsl:if>

ну вот почти всё идеально сработало!
однако если указан вызов в таком виде как <xsl:apply-templates mode="text()" />
то система пишет ошибку такую :
---------------------------------------------------------
Warning: XSLTProcessor::importStylesheet(): compilation error: file /var/www/clients/client0/web106/web/templates/rusgorod/xslt/modules/catalog/category-view-id150.xsl line 75 element apply-templates in /var/www/clients/client0/web106/web/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 33 Warning: XSLTProcessor::importStylesheet(): The value 'text()' of the attribute 'mode' is not a valid QName. in /var/www/clients/client0/web106/web/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 33 Warning: XSLTProcessor::transformToXml(): No stylesheet associated to this object in /var/www/clients/client0/web106/web/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 53
--------------------------------------------------------

где 75 строчка это <xsl:apply-templates mode="text()" />

а если указать такой: <xsl:apply-templates />, то вместе с ссылкой на объект (тур) выводится и его свойства как количество дней, первый и последний день недели да ещё и дату заездов в придачу, которую я только что подставил...
в общем это сейчас вот так и выглядит здесь:
http://temp03.web-image.ru/travel_tours/prefabricated_tours_to_st_petersburg_for_individual_tourists/


Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: admin от 11 Июля 2013, 00:59:12
пардон, вместо
<xsl:apply-templates mode="text()" />
надо
<xsl:value-of select="text()" />
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 11 Июля 2013, 12:09:50
надо
<xsl:value-of select="text()" />

Отлично, сработало!  Спасибо за разъяснения!

У меня осталось последние уточнение (для отдельной темы наверное) по выводу даты.
Вопрос:
возможно ли выводить дату для содержимого поля "start_tour" без указания года, то есть что бы дата начала и окончания заезда тура была такой "01.07- 03.07.2013"
?
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: admin от 11 Июля 2013, 13:03:36
в demodizzy с датами можно работать через вызов макроса system convertDate() с передачей ему параметров в виде даты в unix формате и того как должна быть оформлена дата.

Пример:
<xsl:apply-templates select="document(concat('udata://system/convertDate/',publish_time,'/d.m.Y%20%E2%20H:i/'))/udata" />

Посмотрите подробное описание макроса в документации
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 11 Июля 2013, 19:21:34
Пример:
<xsl:apply-templates select="document(concat('udata://system/convertDate/',publish_time,'/d.m.Y%20%E2%20H:i/'))/udata" />
Посмотрите подробное описание макроса в документации

Спасибо!

А у меня новый вопрос про таблички в категориях (разделов) объектов (туров):

есть туры, которые успешно выводятся с четырьмя столбиками данными, как здесь:
http://temp03.web-image.ru/travel_tours/prefabricated_tours_to_st_petersburg_for_individual_tourists/

для вывода значений  "Заезды "   "Кол-во дней" "Дни недели" "Тур" в шаблоне используется такой вызов:

    
<xsl:template match="page|item">   
      <tr>
         <td>            
             <xsl:apply-templates select=".//property[@name = 'start_tour']" /> - <xsl:apply-templates select=".//property[@name = 'end_tour']" />
         </td>
         <td>                
             <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/>      
         </td>
         <td>            
            <xsl:value-of select=".//property[@name='first_day_tours']/value/item/@name"/> - <xsl:value-of select=".//property[@name='last_day_tours']/value/item/@name"/>        
        </td>
        <td>          
          <a href="{@link}">
            <xsl:if test="not(name)">
               <xsl:value-of select="text()" />
            </xsl:if>
          </a>
        </td>
      </tr>
   </xsl:template>

а ещё есть таблички с турами в категориях (разделах) только с трёмя столбиками, как здесь:
http://temp03.web-image.ru/travel_tours/group_of_adults/auto_group/

и для вывода значений "Период действия" "Кол-во дней"    "Тур"  в шаблоне используется этот вызов:

  
 <xsl:template match="page|item" mode="table-view-1">   
      <tr>
         <td>
             <xsl:apply-templates select=".//property[@name = 'first_month_tours']" /> - <xsl:apply-templates select=".//property[@name = 'last_month_tours']" />
         </td>
         <td>                
             <xsl:value-of select=".//property[@name='day_score']/value/item/@name"/>      
         </td>
        <td>          
          <a href="{@link}">
            <xsl:if test="not(name)">
               <xsl:value-of select="text()" />
            </xsl:if>
          </a>
        </td>
      </tr>
    </xsl:template>

Так вот почему-то система выбирает только первый вариант шаблона для всех разделов с табличками туров, почему ж так, ведь у меня все шаблоны для каждого раздела сайта внутрях подключены под свой собственный iD, как например вот так: 
<xsl:template match="/result[@method = 'category' and page/@type-id=150]">
?
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 15 Июля 2013, 16:53:55
Справился с задачкой, да вот вылезают данные в виде цифр над табличкой (например где "144" - типа данных), как их закрыть?
http://temp03.web-image.ru/travel_tours/group_of_adults/auto_group/
Название: Re:Вывод объектов каталога с отдельными характеристиками объектов в таблице
Отправлено: Axiomateria от 16 Июля 2013, 16:28:32
Справился с задачкой, да вот вылезают данные в виде цифр над табличкой (например где "144" - типа данных), как их закрыть?
http://temp03.web-image.ru/travel_tours/group_of_adults/auto_group/

Вот сам себе пишу, сам себе отвечаю :)) В итоге методом проб и ошибок добился вывода только нужных данных.

Но вопрос ещё один по теме этой есть:
как сделать так, что бы в категории выводить дочерние подкатегории со своими данными объектов в виде превью ?
Возможно ли здесь полезное применение файла category-list.xsl ?
Название: Re:Вывод объектов каталога с отдельными хар&#
Отправлено: thecoder от 16 Июля 2013, 16:53:58
Цитировать
Вот сам себе пишу, сам себе отвечаю )

Вот этим форум как раз и полезен. Я сам сколько раз не мог разобраться, писал на форум UMI и тут же решение приходило само. Просто надо высказаться :) И потом в своем вопросе найти ответ :)