UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: infatigabilis от 06 Декабря 2017, 08:52:47

Название: Импорт нескольких изображений в товар при интеграции с 1С
Отправлено: infatigabilis от 06 Декабря 2017, 08:52:47
Добрый день.

Столкнулся с тем, что при интеграции с 1С(CommerceML) в товар загружается только одно изображение, в поле "Картинка"(photo). Можно ли загрузить все изображения в товар? Предпочтительно в поле "Дополнительные фотографии товара"(photos).

Уже почитал на эту тему пару материалов, как я понял, стандартный импорт так делать не умеет. Попытался сделать кастом, добавить остальные фото через такой обработчик:
<property name="photos" type="multiple_image">
   <title>Дополнительные фотографии товара</title>
   <value>./images/cms/data/<xsl:value-of select="."/></value>
</property>

Но он выдает ошибку...
Название: Re: Импорт нескольких изображений в товар при интеграции с 1С
Отправлено: Axiomateria от 22 Ноября 2018, 14:25:52
Столкнулся с тем, что при интеграции с 1С(CommerceML) в товар загружается только одно изображение, в поле "Картинка"(photo). Можно ли загрузить все изображения в товар?
Добрый день.
Попробуйте вставить такой вариант кода в кастомный файл:
    <xsl:template match="Товар/Картинка">
        <xsl:if test="string-length(.)">
            <xsl:choose>
                <xsl:when test="position() &gt; 1">
                    <property name="photo{position()}" title="Картинка{position()}" type="img_file" visible="visible" allow-runtime-add="1">
                        <type data-type="img_file"/>
                        <title>Картинка</title>
                        <value>./images/cms/data/<xsl:value-of select="."/></value>
                    </property>
                </xsl:when>
                <xsl:otherwise>
                    <property name="photo" type="img_file">
                        <title>Картинка</title>
                        <value>./images/cms/data/<xsl:value-of select="."/></value>
                    </property>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:if>     
    </xsl:template>
Название: Re: Импорт нескольких изображений в товар при интеграции с 1С
Отправлено: Axiomateria от 22 Ноября 2018, 17:01:05
И/или второй вариант для использования, если надо
Цитировать
Предпочтительно в поле "Дополнительные фотографии товара"(photos).

    <xsl:template match="Товар/Картинка">
        <xsl:if test="string-length(.)">
            <xsl:choose>
                <xsl:when test="position() &gt; 1">
                    <xsl:if test="position() = 1">
                        <property name="photo" title="Картинка" type="img_file" visible="visible" allow-runtime-add="1">
                            <type data-type="img_file"/>
                            <title>Картинка</title>
                            <value>./images/cms/data/<xsl:value-of select="."/></value>
                        </property>
                    </xsl:if>
                    <xsl:if test="position() != 1">
                        <property name="photos" title="Дополнительные фотографии товара" type="multiple_image" visible="visible" allow-runtime-add="1">
                            <type data-type="multiple_image"/>
                            <title>Дополнительные фотографии товара</title>
                            <xsl:apply-templates select="value" mode="more_photos"/>
                        </property>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <property name="photo" type="img_file">
                        <title>Картинка</title>
                        <value>./images/cms/data/<xsl:value-of select="."/></value>
                    </property>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:if>     
    </xsl:template>
   
    <xsl:template match="value"  mode="more_photos">
        <value>./images/cms/data/<xsl:value-of select="."/></value>
    </xsl:template>