Работа с дополнительными свойствами в HostCMS v. 6

Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
romuland,
так пусть владелец обновит.
Re: Работа с дополнительными свойствами в HostCMS v. 6
Пытаемся вывести все значения доп.свойства поля file

Вариант, когда не выводятся картинки, пути тоже не выводятся:

<xsl:for-each select="property_value[tag_name='portfolio']">
   <div class="item">
      <a href="{dir}{property_value[tag_name='portfolio']/file}" class="image fancy" title="{name}">
         <img src="{dir}{property_value[tag_name='portfolio']/file_small}" class="image" alt="{name}" />
      </a>
   </div>
</xsl:for-each>


В этом варианте правильно выводятся только имена файлов.

<xsl:for-each select="property_value[tag_name='portfolio']">
   <div class="item">
      <a href="{file}" class="image fancy" title="{name}">
         <img src="{file_small}" class="image" alt="{name}" />
      </a>
   </div>
</xsl:for-each>


Как правильно вывести картинку?

UPDATE: Решено через переменную

<xsl:variable name="propertydir" select="dir" />
<xsl:if test="property_value[tag_name='portfolio']/file !=''">
   <div id="images">
      <xsl:for-each select="property_value[tag_name='portfolio']">
         <div class="item">
            <a href="{$propertydir}{file}" class="image fancy" title="{name}">
               <img src="{$propertydir}{file_small}" class="image" alt="{name}" />
            </a>
         </div>
      </xsl:for-each>
   </div>
</xsl:if>


Если неправильно, пожалуйста, объясните как ПРАВИЛЬНО.
Знания имеют свои пределы, и только глупость человеческая не знает границ...
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
Дык вот наверно проще:

<xsl:for-each select="property_value[tag_name='portfolio']/file !=''">
   <div class="item">
      <a href="{dir}{file}" class="image fancy" title="{name}">
         <img src="{dir}{file_small}" class="image" alt="{name}" />
      </a>
   </div>
</xsl:for-each>


Попробуйте. По идее должно работать.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Re: Re: Работа с дополнительными свойствами в HostCMS v. 6
Я тоже так по началу думал, однако нет, не работает...
Показалось весьма странным...
Потому и кинулся вопрос писать.
Затем получилось найти решение, обновил сообщение.
Знания имеют свои пределы, и только глупость человеческая не знает границ...
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
Точно. Мы то по сути в property_value находимся. Поэтому так:


<xsl:for-each select="property_value[tag_name='portfolio']/file !=''">
   <div class="item">
      <a href="{../dir}{file}" class="image fancy" title="{name}">
         <img src="{../dir}{file_small}" class="image" alt="{name}" />
      </a>
   </div>
</xsl:for-each>
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Re: Работа с дополнительными свойствами в HostCMS v. 6
Здравствуйте
Нужно вывести некоторые свойства товаров в каталог товаров для каждого товара.
Пытаясь это сделать, получилось вывести только полностью все свойства...
Подскажите пожалуйста как сделать так, чтобы в каталоге выводились только те свойства товаров которые мне нужны...
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
Habl писал(а):
как сделать так, чтобы в каталоге выводились только те свойства товаров которые мне нужны...


http://hostcms.ru/api6/classes/Shop_Controller_Show.html

itemsProperties(TRUE|FALSE|array()) выводить значения дополнительных свойств товаров, по умолчанию FALSE. Может принимать массив с идентификаторами дополнительных свойств, значения которых необходимо вывести.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Re: Работа с дополнительными свойствами в HostCMS v. 6
alexander.egorov писал(а):


Можете пример показать, а то у меня ничего не получается. Вот например хочу в каталоге товаров в ячейки вывести допустим длину

<td class="td2"><?php itemsForbiddenTags(array('')?></td>

Если смотреть в карточке товаров, то дополнительные свойства товара выводятся путем

<dl class="additional_info">
<xsl:apply-templates select="property_value"/>
</dl>

Если этот код использовать в каталоге с товарами, то свойства которые указаны для товара, допустим: "длина", "ширина", "вес" выводятся сразу все.
Структура каталога с товарами сделана списком, поэтому нужно чтобы для каждого подкаталога выводилась своя информация, и чтобы она шла в цикле применялась к каждому товару в списке.

Вот пример сайта http://123.metall-sk.com/production/mz/stal_sort_ht_kalibr_shestigran/
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
Habl писал(а):
<td class="td2"><?php itemsForbiddenTags(array('')?></td>

Что это?

Вы добавили в ТДС магазина массив свойств? Они пошли в XML?
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Re: Работа с дополнительными свойствами в HostCMS v. 6
alexander.egorov писал(а):
Вы добавили в ТДС магазина массив свойств? Они пошли в XML?


Не это не добавлял, просто не пойму как применить... До этого вывод всех свойств в каталоге с товарами осуществлялся этим кодом  
<dl class="additional_info">
<xsl:apply-templates select="property_value"/>
</dl>

Этот кусок кода из карточки товара
Подскажите как реализовать то что мне нужно, желательно наглядным примером.
Я буду весьма Вам благодарен
Авторизация