Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Несколько картинок для одного товара, вопрос по шаблону

Автор KTIРаздел Шаблоны XSLT

Ответов: 11
Просмотров: 6617
Последний ответ 23 Апреля 2015, 23:15:04
от john
Вопрос по выводу дочерних страниц модуля структура

Автор shotoРаздел Шаблоны XSLT

Ответов: 5
Просмотров: 4655
Последний ответ 07 Марта 2014, 17:34:18
от e.ioffe
Вопрос по организации отображения фотоальбома

Автор AksukРаздел Настройка системы и модулей

Ответов: 11
Просмотров: 6457
Последний ответ 23 Сентября 2011, 01:42:09
от Aksuk
вопрос новичка по emarket cart

Автор slavikРаздел Настройка системы и модулей

Ответов: 6
Просмотров: 3353
Последний ответ 23 Июля 2014, 22:16:21
от slavik
Вопрос по выборки Usel

Автор atachРаздел Custom макросы

Ответов: 5
Просмотров: 3487
Последний ответ 11 Сентября 2012, 13:58:47
от atach

0 Пользователей и 1 Гость просматривают эту тему.

*

webtrend

  • **
  • 89
  • +0/-0
    • Просмотр профиля
Доброго времени суток любители самой крутой cms. Вопрос следующий, хочу передать в маркет товар, у товара 4 поля с картинками, но у одного товара может быть 1 картинка а у другова все 4, так вот необходимо чтобы у того товара где 1 картинка в выгрузке не отображались остальные пустые поля, делаю следующее - <xsl:if test=".//property[@name = 'photo']/value != ''">
          <picture>
            <xsl:value-of select="concat('http://', /umidump/meta/domain, .//property[@name = 'photo']/value)"/>
          </picture>
        </xsl:if>
      <xsl:if test=".//property[@name = 'photo_2']/value and not(value='')">
          <picture>
            <xsl:value-of select="concat('http://', /umidump/meta/domain, .//property[@name = 'photo_2']/value)"/>
          </picture>
        </xsl:if>
      <xsl:if test=".//property[@name = 'photo_3']/value and not(value='')">
          <picture>
            <xsl:value-of select="concat('http://', /umidump/meta/domain, .//property[@name = 'photo_3']/value)"/>
          </picture>
        </xsl:if>

на итоге выгрузка получается следующая - <picture>http://myerotictoys.ru/images/cms/data/import_a8a3bb41701c1e385454bd2ef891223f_19_01_2016/a7d1d14a610f269e32a3fa04ce40ff8a.jpg</picture><picture>http://myerotictoys.ru/</picture><picture>http://myerotictoys.ru/</picture>
в полях где отсутствует картинка выводится адрес сайта, помогите пожалуйста разобраться.

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #1 : 04 Февраля 2016, 17:13:14 »
такая конструкция не работает <xsl:if test=" .//property[@name = 'photo']/value != '' "> в принципе, нужно писать так <xsl:if test=" not(.//property[@name = 'photo']/value = '') ">

я бы сделал так, если других каких-то ненужных полей с photo  в названии нет)

<xsl:apply-templates select=".//property[contains(@name, 'photo')]" mode="yml-photo">
  <xsl:with-param name="domain" select="/umidump/meta/domain" />
</xsl:apply-templates>

и шаблон

<xsl:template match="property" mode="yml-photo" />
<xsl:template match="property[not(value = '')]" mode="yml-photo">
  <xsl:param name="domain" />
  <picture>
     <xsl:value-of select="concat('http://', $domain, value)"/>
  </picture>
</xsl:template>

p/s/ и друзья, давайте код все-таки вставлять в соответствующие теги, чтобы всем было удобно его читать
« Последнее редактирование: 04 Февраля 2016, 17:15:22 от crazygeorgio »

*

webtrend

  • **
  • 89
  • +0/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #2 : 04 Февраля 2016, 19:35:09 »
Добрый день, попробовали, не помогло, все равно та же бяда. Вопрос остается актуален

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #3 : 04 Февраля 2016, 19:58:30 »
а если так <xsl:template match="property[value != '']" mode="yml-photo">

*

webtrend

  • **
  • 89
  • +0/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #4 : 04 Февраля 2016, 20:03:17 »
И так тоже к сожалению не получается

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #5 : 04 Февраля 2016, 20:06:07 »
блин, возможно там что-то другое возвращается, а не ''... посмотрите что вообще umidump возвращает в property через <xsl:copy-of select="." />

*

webtrend

  • **
  • 89
  • +0/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #6 : 04 Февраля 2016, 20:09:53 »
Передает следующее
<group name="opisanie_tovara">
<title>Описание товара</title>
<property id="497" name="photo" type="img_file" is-important="0">
<title>Фотография</title>
<value path="./images/cms/data/import_a8a3bb41701c1e385454bd2ef891223f_19_01_2016/d4214ed081130b040993623069dd7990.jpg" folder="/images/cms/data/import_a8a3bb41701c1e385454bd2ef891223f_19_01_2016" name="d4214ed081130b040993623069dd7990" ext="jpg" width="400" height="570" is_broken="0">/images/cms/data/import_a8a3bb41701c1e385454bd2ef891223f_19_01_2016/d4214ed081130b040993623069dd7990.jpg</value>
</property>
<property id="521" name="photo_2" type="img_file" is-important="0">
<title>Фотография 2</title>
<value path="./" is_broken="1">/</value>
</property>
<property id="522" name="photo_3" type="img_file" is-important="0">
<title>Фотография 3</title>
<value path="./" is_broken="1">/</value>
</property>
</group>

*

crazygeorgio

  • ***
  • 140
  • +7/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #7 : 04 Февраля 2016, 20:12:46 »
ну вот видите, у вас значит условие должно быть не != '' а != '/'

я бы сделал сразу два условия на всякий случай <xsl:template match="property[not(value = '') and not(value = '/')]" mode="yml-photo">

*

webtrend

  • **
  • 89
  • +0/-0
    • Просмотр профиля
Re: YML выгрузка - вопрос по изображениям
« Ответ #8 : 04 Февраля 2016, 20:20:28 »
Спасибо огромное, все заработало)