Xsl для 2х доп свойств

#
Re: Xsl для 2х доп свойств
lipton_ice_tea писал(а):
Где?
АЦ - Админ Центр (Админка) я к тому что хочется понять как вы организовали связку свойств и как они выглядят при заполнении?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Xsl для 2х доп свойств
Seri,
Связки никакой нет (т.к. ее нельзя сделать имеющимися инструментами).
А просто есть 2 отдельных доп.свойства, у которых разрешены множественные значения (т.е. более одного значения для свойства).
И новое значение для каждого из этих свойств добавляется отдельно.
Но! Всегда кол-во значений для 1 св-ва будет таким же, как и для 2-го.
И нужно их по порядку вместе выводить (как описано выше)
#
Re: Xsl для 2х доп свойств
lipton_ice_tea,
самый разумный вариант предложил Roman Fov
в поле свойства писать "Ремонт двигателя$$300 руб." и в xsl разбирать название =
substring-before('property_value[tag_name='table']/value', '$$')
и соответственно значение =
substring-after('property_value[tag_name='table']/value', '$$')
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Xsl для 2х доп свойств
alexpimnev писал(а):
доп.свойства, у которых разрешены множественные значения
Может Вам подойдет такое решение в XSL:
<xsl:template match="/shop">
      <table>
         <tbody>
            <tr>
               <th>Имя свойства</th>
               <th>Значение</th>
            </tr>
            <xsl:apply-templates select="shop_item_properties"/>
         </tbody>
      </table>
</xsl:template>
<!-- Show shop_item_properties -->
<xsl:template match="shop_item_properties">
<xsl:variable name="id"><xsl:value-of select="property/@id" /></xsl:variable>
<xsl:variable name="name"><xsl:value-of select="property/name" /></xsl:variable>
<xsl:for-each select="/shop/shop_item/property_value[property_id=$id]">
   <tr>
      <td>
         <xsl:value-of select="$name" />
      </td>
      <td>
         <xsl:value-of select="file" />
      </td>
   </tr>
</xsl:for-each>
</xsl:template>

Пробовал вывести доп. картинки товара в ИМ виде таблицы. Думаю вы можете если подойдет решение легко переделать для ИС.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Xsl для 2х доп свойств
alexpimnev,
Спасибо за информацию! Получается, что другого варианта выхода из ситуации нет Печально
Поэтому создал предложение по добавлению поля описания к доп.свойствам. Если за такую идею, поддержите меня в разделе «Помощь»->»Пожелания и предложения».
#
Re: Xsl для 2х доп свойств
lipton_ice_tea,
ну еще вариант использовать вместо элемента группы и в них уже элементы с названием в названии и значением в кратком описании))
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Xsl для 2х доп свойств
lipton_ice_tea,
Немного переделал, выводятся все доп. свойства и их значение виде таблицы:
<!-- Show shop_item_properties -->
<xsl:template match="shop_item_properties/property">
<xsl:variable name="id"><xsl:value-of select="@id" /></xsl:variable>
<xsl:variable name="name"><xsl:value-of select="name" /></xsl:variable>
<xsl:apply-templates select="/shop/shop_item/property_value[property_id=$id]" mode="property">
   <xsl:with-param name="goods_name" select="$name"/>
</xsl:apply-templates>
</xsl:template>
<!-- Show property item -->
<xsl:template match="/shop/shop_item/property_value" mode="property">
<xsl:param name="goods_name"/>
<tr>
   <td>
      <xsl:value-of select="$goods_name" />
   </td>
   <td>
      <xsl:value-of select="file" />
      <xsl:value-of select="value" />
   </td>
</tr>
</xsl:template>

Ссылка на скриншот
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Xsl для 2х доп свойств
Seri,
Если в пример брать Ваш скриншот, то мы видим 3 доп.изображение и 3 цвета.
Вот надо, что бы можно было 1 доп.изображение выводить вместе с 1 цветом, 2ое - со 2м цетом, и т.д.
p.s. вариант выводить, как на скриншоте, а потом править порядок через js/css - не подходит
#
Re: Xsl для 2х доп свойств
lipton_ice_tea писал(а):
Вот надо, что бы можно было 1 доп.изображение выводить вместе с 1 цветом, 2ое - со 2м цетом, и т.д.

Направление Вам дал думаю вы это сможете сделать.
lipton_ice_tea писал(а):
p.s. вариант выводить, как на скриншоте, а потом править порядок через js/css - не подходит

Все в Ваших руках. Могу пожелать только удачи в творчестве.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Xsl для 2х доп свойств
Всем спасибо, разобрался)
Вот решение:
К примеру, у нас есть 2 доп. свойства: title и table.
Добавляем вызов шаблона для доп. свойства title:
<xsl:apply-templates select="property_value[tag_name='title']" />


Код самого шаблона:
<xsl:template match="property_value">
   <xsl:variable name="i" select="position()" />
   <xsl:variable name="prop_value" select="../property_value[tag_name='table'][$i]/value" />
   <xsl:if test="$prop_value!=''">
      <div>
         <p><xsl:value-of select="value"/></p>
         <p><xsl:value-of select="$prop_value"/></p>
      </div>
   </xsl:if>
</xsl:template>


В итоге получаем вывод 2х свойств в паре:
title1 table1
title2 table2
и т.д.
Авторизация