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

Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
dogstudio,
да также, как я давал ссылку выше, только запрос как здесь. Только подумайте, действительно ли Вам такое нужно?!
Re: Работа с дополнительными свойствами в HostCMS v. 6
Да, совершенно точно нужно. Мне нужно не выводить вкладку, если совпадений нет. Только в предварительном запросе же не надо выбирать ВСЁ, как здесь — для подсчета строк достаточно выбрать идентификаторы подходящих инфоэлементов. Поэтому «также» не подойдет, наверное?
Точнее, можно конечно сделать и так же, но это неразумно и невыгодно для производительности... Я поэтому и спросила про ORM — именно для таких случаев обычно есть отдельный метод count, в том числе и для relations.
http://superweb.pro/ — сайты на HostCMS под ключ
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
Так и берите метод getCount(), только правильно настройке все связи.
Re: Работа с дополнительными свойствами в HostCMS v. 6
HostCMS писал(а):
Малое изображение со ссылкой на большое:
<a href="{dir}{property_value[tag_name='file']/file}" target="_blank"><img src="{dir}{property_value[tag_name='file']/file_small}" /></a>


Попробовал вставить этот код в xsl-шаблон "МагазинТовар", получился такой код темплейта:
   <!-- Вывод строки со значением свойства -->
   <xsl:template match="property_value">
      <xsl:if test="value/node() and value != '' or file/node() and file != ''">
         <div class="shop_property">
            <xsl:variable name="property_id" select="property_id" />
            <xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />
            
            <xsl:value-of disable-output-escaping="yes" select="$property/name"/><xsl:text>: </xsl:text>
            <span><xsl:choose>
                  <xsl:when test="$property/type = 2">
                     <a href="{dir}{property_value[tag_name='file']/file}" target="_blank"><img src="{dir}{property_value[tag_name='file']/file_small}" /></a>
                  </xsl:when>
                  <xsl:when test="$property/type = 7">
                     <input type="checkbox" disabled="disabled">
                        <xsl:if test="value = 1">
                           <xsl:attribute name="checked">checked</xsl:attribute>
                        </xsl:if>
                     </input>
                  </xsl:when>
                  <xsl:otherwise>
                     <xsl:value-of disable-output-escaping="yes" select="value"/>
                  </xsl:otherwise>
            </xsl:choose></span>
         </div>
      </xsl:if>
   </xsl:template>


Правильно ли я сделал? Изображения не отображаются при этой замене.
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
ALEXIT, Вы уже находитесь в property_value, поэтому из Вашего кода нужно убрать везде строку
property_value[tag_name='file']/
Re: Работа с дополнительными свойствами в HostCMS v. 6
HostCMS писал(а):
ALEXIT, Вы уже находитесь в property_value, поэтому из Вашего кода нужно убрать везде строку
property_value[tag_name='file']/

Спасибо, помогло.

Методом проб и сравнения шаблонов выяснил, что еще и нужно заменить
{dir}

на
{../dir}

Только после этого все полноценно заработало
Re: Работа с дополнительными свойствами в HostCMS v. 6
HostCMS писал(а):
if (count($aPropertyValues))
{
// есть хотя бы одно значение
}


Не работает. Ни одного значения нет, но при этом снова какой-то от балды бред выбирается. Снова в ТП писать?
В сто раз проще было бы, если бы можно было отключить множественность для свойств и работать с одним значением, а не с массивом.
http://superweb.pro/ — сайты на HostCMS под ключ
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
dogstudio писал(а):
Ни одного значения нет, но при этом снова какой-то от балды бред выбирается.
Так все-таки значений нет или "бред" выбирается?! Увидеть бы бред и фрагмент кода.
Re: Работа с дополнительными свойствами в HostCMS v. 6
Значений в поля этих допсвойств в инфоэлементе НЕ ВВЕДЕНО — поля пустые. А в переменную $aPropertyValues[0]->Informationsystem_Item->id попадает идентификатор  первого элемента инфосистемы по алфавиту почему-то.
Код вы видели, предпоследний тикет в поддержке.
http://superweb.pro/ — сайты на HostCMS под ключ
Модератор
Re: Работа с дополнительными свойствами в HostCMS v. 6
dogstudio писал(а):
Код вы видели, предпоследний тикет в поддержке.
Вы полагаете что Вы единственный человек, который пишет в поддержку? Покажите неработающий фрагмент или перенесите обсуждение вопроса в поддержку.
Авторизация