пересчет цены по курсу?

#
Re: пересчет цены по курсу?
Теперь ошибки нет, но умножения тоже нет я Вас еще не достал?
Модератор
#
Re: пересчет цены по курсу?
Вы читали пример? В примере показан общий принцип работы с генерируемыми данными в XML, его необходимо корректировать под свои задачи.
static public function onBeforeGetXml($object, $args)
{
   // Исключаем тег из стандартной генерации
   $object->addForbiddenTag('buyprice');

   $oShop = $object->Shop;
   $fCurrencyCoefficient = $object->Shop_Currency->id > 0 && $oShop->Shop_Currency->id > 0
       ? Shop_Controller::instance()->getCurrencyCoefficientInShopCurrency(
         $object->Shop_Currency, $oShop->Shop_Currency
       )
       : 0;

   $object->addXmlTag('buyprice', $object->buyprice * $fCurrencyCoefficient);
}
значение нужного тега будет в новом теге buyprice, включите вывод XML и посмотрите.
#
Re: пересчет цены по курсу?
Супер, спасибо спасибо спасибо. а теперь, я надеюсь, будет последний вопрос: в XML вижу результат, а что делать чтоб это видеть на страницу? )))
Модератор
#
Re: пересчет цены по курсу?
gjm@rosklimat.com,
Так Вы же сами приводили пример:
<xsl:value-of disable-output-escaping="yes" select="format-number(buyprice, '### ##0,00', 'my')"/>&#xA0;<xsl:value-of select="currency" disable-output-escaping="yes"/></td>
#
Re: пересчет цены по курсу?
Эхххх, баран я))) Спасибо огромное, на колене перед Вами
Модератор
#
Re: пересчет цены по курсу?
Пожалуйста. Переписал пример, теперь вместо myTag, думаю, можно использовать пересчитанный buyprice
#
Re: пересчет цены по курсу?
Красота, еще раз спасибо
#
Re: пересчет цены по курсу?
Добрый день!
А можно ли осуществить такое – есть цена товара (руб./м), а мне нужно чтобы выводилась вторая цена, но уже в (руб./шт.). То есть необходимо одну переменную перемножить на другую переменную, а затем ещё на коэффициент 0,001.
Стоимость за 1 метр перемножить на длину в мм, затем ещё на 0,001.

<span class="price"><xsl:apply-templates select="/shop/shop_currency/code">
<xsl:with-param name="value" select="price" /></xsl:apply-templates></span>

<b class="price small color-ruby"><xsl:apply-templates select="/shop/shop_currency/code">
<xsl:with-param name="value" select="price" /></xsl:apply-templates>
<xsl:apply-templates select="property_value[tag_name='length']/value" />*0.001
</b>
Модератор
#
Re: пересчет цены по курсу?
Dmitry K.,
так и умножайте внутри кавычек. https://www.xml.com/pub/a/2001/05/07/xsltmath.html
#
Re: пересчет цены по курсу?
Большое спасибо!
Написал вот так:
<b class="price small color-ruby"><xsl:apply-templates select="/shop/shop_currency/code2">
<xsl:with-param name="value" select="price" />
</xsl:apply-templates>
<xsl:value-of select="property_value[tag_name='length']/value * price * 0.001" /><xsl:text>&#xA0;руб./шт.</xsl:text>
</b>

и всё получилось!
Авторизация