Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - stud_mai

Страницы: [1]
1
Добрый день!

Столкнулся с казалось бы простой задачей, но никак не могу найти решения: нужно просуммировать значения атрибутов элемента на xslt. Подскажите, пожалуйста, как для приведенного ниже примера найти сумму количества товара на складах, то есть просуммировать значения атрибута "КоличествоНаСкладе"?
<Предложение>
<Ид>94fc9103-77c0-11e4-8b2c-d850e64ee1bc#d3874fa8-2a04-11e4-bd13-d850e64ee1bc</Ид>
<Артикул>1902319_9430</Артикул>
<Наименование>Вело куртка мужская</Наименование>
....
<Склад ИдСклада="213628c5-fdd3-11e3-b78c-dc85de5515fd" КоличествоНаСкладе="1"/>
<Склад ИдСклада="213628c6-fdd3-11e3-b78c-dc85de5515fd" КоличествоНаСкладе="3"/>
</Предложение>

Пробовал так:
<xsl:variable name="count" select="0"/>
<xsl:for-each select="../../Склад">
<xsl:variable name="count" select="$count + number(@КоличествоНаСкладе)" />
</xsl:for-each>
<option float="{$count}" object-id="{substring-after(../../Ид, '#')}"/>

но не работает, вылетает ошибка.

2
Добрый день!

Провожу интеграцию с эквайрингом от Tinkoff. Все вроде получается, но встал вопрос: хочу для отладки писать в файл данные, которыми обменивается umi с tinkoff. Все необходимые функции process(), poll() и validate() описаны в классе tinkoffPayment в файле, расположенном в classes\modules\emarket\classes\payment\systems\. Тамже я использую file_put_contents, чтобы записать необходимые данные в файл, но файл не создается. Почему не понимаю. Может кто-нибудь помочь в этом вопросе?

3
Добрый вечер!

Интересует такой вопрос: кто-либо озадачивался проблемой настройки накопительной скидки если в корзине используется "заказ в 1 шаг", а не как в demodizzy пошаговый? Если кто-то делал такое, можете поподробнее описать действия

Заранее спасибо откликнувшимся!

4
Добрый день!

Возник дурацкий вопрос: переписывая кастомный шаблон commerceML2.xsl встала необходимость взглянуть на формируемый Umidump, и никак не пойму откуда его заполучить. Не подскажите как?

5
Добрый день!

Имеется код, взятый с wiki.umisoft.ru, для отправки уведомлений с разным текстом при изменении статуса заказа и доставки:

<xsl:template match="status_notification">
    <br />
<xsl:text>Ваш заказ № </xsl:text>
<xsl:value-of select="order_number" />
<xsl:text> </xsl:text>
<xsl:choose>
<!-- Уведомления о статусе заказа -->
<xsl:when test="contains(status, 'поступил в обработку')">
был получен.
</xsl:when>
<xsl:when test="contains(status, 'отменён')">
был отменен.
</xsl:when>
<xsl:when test="contains(status, 'отклонён')">
был отклонен.
</xsl:when>
<xsl:when test="contains(status, 'доставляется')">
доставляется.
                <xsl:if test="document(concat('uobject://',order_id,'.delivery_service_id'))//value">
                                       <xsl:apply-templates select="document(concat('uobject://',order_id))/udata" mode="delivery_link" />     
                                </xsl:if>   
</xsl:when>
<xsl:when test="contains(status, 'готов')">
готов.
</xsl:when>
<xsl:when test="contains(status, 'принят')">
принят.
</xsl:when>
<xsl:when test="contains(status, 'оплачивается')">
оплачивается.
</xsl:when>
<xsl:when test="contains(status, 'редактируется')">
редактируется.
</xsl:when>
<!-- Уведомления о статусе оплаты -->
<xsl:when test="contains(status, 'ожидает оплаты')">
ожидает оплаты.
</xsl:when>
<xsl:when test="contains(status, 'оплачен')">
был оплачен.
</xsl:when>
<xsl:when test="contains(status, 'обновлен: оплата подтверждена')">
был обновлен, оплата подтверждена.
</xsl:when>
<xsl:when test="contains(status, 'обновлен: оплата отклонена')">
был обновлен, оплата отклонена.
</xsl:when>
<!-- Уведомления о статусе доставки -->
<xsl:when test="contains(status, 'ожидает отгрузки')">
ожидает отгрузки.
</xsl:when>
<xsl:when test="contains(status, 'доставляется')">
отправлен.
</xsl:when>
<xsl:when test="contains(status, 'доставлен')">
доставлен.
</xsl:when>
</xsl:choose>
<br/><br/>
<xsl:text>Посмотреть историю заказов и самостоятельно отслеживать этапы доставки заказа Вы можете в своем </xsl:text>
<a href="http://{domain}/users/login/">
<xsl:text>личном кабинете</xsl:text>
</a> в разделе <a href="http://{domain}/emarket/ordersList/" target="_blank"><xsl:text>"Мои заказы"</xsl:text></a>.<br />
</xsl:template>

Все работает нормально за исключением того момента, условие <xsl:if test="document(concat('uobject://',order_id,'.delivery_service_id'))//value"> в статусе "Доставляется" никак не обрабатывается, точнее как-будто test всегда = true, хотя это не так. Никак не могу понять в чем причина такого поведения? Может кто сталкивался с подобной ситуацией?

P.S. При смене статуса доставки заказа на "Доставляется" почему-то подхватывается тот код, который предназначен для статуса заказа "Доставляется". Тоже интересно почему так?

Страницы: [1]