Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 2571 Просмотров
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Добрый день, подскажите, такая ситуация. Делаю выгрузку через скрипт:
Спойлер
[свернуть]
всё выгружается нормально. Но сегодня столкнулся с проблемой. Если в админке стоимость товара поставить в у.е. - на сайте выводится в гривне по курсу, но вот экспорт происходит неверно. Если ставлю примерно 50 у.е. на сайте отображается как 1050 грн по курсу 21 грн. а вот при выгрузке пишет как 50 грн. В чём проблема может быть?
Спасибо.
*

fsv

  • Moderator
  • 2765
  • 402 / 2
Попробуйте в
Код
echo"<currencyId>UAH</currencyId>\n";
заменить валюту на USD
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Попробуйте в
Код
echo"<currencyId>UAH</currencyId>\n";
заменить валюту на USD
То же самое только пишет вместо UAH - USD цена не меняется.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Так же не указал, часть цен в гривне часть цен в долларах, как сделать что бы если в гривне то выводилось как есть а если в долларах то выводилось по курсу?
*

fsv

  • Moderator
  • 2765
  • 402 / 2
Цитировать
а вот при выгрузке пишет как 50 грн.
Стало писать "50USD". Что не так? Курс указан -
Код
echo"<currency  id=\"USD\" rate=\"21\"/>\n";
Что на Маркете показывает? (не в исходном коде вашего сайта при обращении к скрипту)

Если надо, чтобы в исходном коде, умножайте цену, полученную из базы (в $)
Код
$product_price = substr($row[$i]['product_price'], 0, -3);  // а зачем обрезать, если в usd?
на ваш курс.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
После замены UAH на USD показывает 50 USD, не переводит по курсу(хотя цена в админке указанна в USD) и ко всем ценам добавляет USD/
Повторюсь, если указать цену в usd то на сайте выводится цена в грн по курсу, всё верно, но при выгрузке прайса цена указанна без пересчёта по курсу.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
И надо что бы если в адмике цена в грн то выводить в грн, а если в usd то выводить в грн по курсу.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Как правильно прописать условие после
Код
$product_price = $product_price - $product_price * $array_product_discount['amount']  / 100;
if (цена в баксах) тогда $product_price = $product_price * курс ?
*

fsv

  • Moderator
  • 2765
  • 402 / 2
"if (цена в баксах)" пока не известна. Надо получить валюту. После
Код
$tb_price.product_price,
добавьте
Код
$tb_price.product_currency,
вместо
Код
$product_price = substr($row[$i]['product_price'], 0, -3);
напишите
Код
if( $row[$i]['product_currency'] == "USD" ){
    $product_price = round( (float)$row[$i]['product_price'] * $rate );  // $rate установить выше
} else {
    $product_price = round( (float)$row[$i]['product_price'] );
}
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
"if (цена в баксах)" пока не известна. Надо получить валюту. После
Код
$tb_price.product_price,
добавьте
Код
$tb_price.product_currency,
вместо
Код
$product_price = substr($row[$i]['product_price'], 0, -3);
напишите
Код
if( $row[$i]['product_currency'] == "USD" ){
    $product_price = round( (float)$row[$i]['product_price'] * $rate );  // $rate установить выше
} else {
    $product_price = round( (float)$row[$i]['product_price'] );
}
Спасибо, работает, но если оставить $rate то не подсчитывает, если вместо него прописать к примеру 21 то считает всё отлично.
*

fsv

  • Moderator
  • 2765
  • 402 / 2
если оставить $rate то не подсчитывает, если вместо него прописать к примеру 21 то считает всё отлично.
посмотрите комментарий в коде выше:
Код
 // $rate установить выше
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
посмотрите комментарий в коде выше:
Код
 // $rate установить выше
Если имеется ввиду
Код
echo"<currencies>\n";
echo"<currency  id=\"UAH\" rate=\"1\"/>\n";
echo"<currency  id=\"USD\" rate=\"21\"/>\n";
echo"<currency  id=\"EUR\" rate=\"9.9\"/>\n";
echo"</currencies>\n";
то это не срабатывает
*

fsv

  • Moderator
  • 2765
  • 402 / 2
да нет же, выше (например, перед "if...") задать переменную с курсом пересчета:
$rate = 21;
if(...
Но можно, и как вы, без переменной. Просто при большом желании эту переменную можно было бы брать из {конфиг VM/свой xml-файл с курсами/...?...}, задавая курс в админке.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
понял, спасибо.
А если есть файл с курсом валют daily.xml, можно ли из него брать?
*

fsv

  • Moderator
  • 2765
  • 402 / 2
Можно.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Увеличились цены

Автор irinkayagodka

Ответов: 2
Просмотров: 2009
Последний ответ 13.12.2015, 00:54:25
от irinkayagodka
Как осуществить выгрузку товаров из VirtueMart в Яндекс маркет

Автор streelok

Ответов: 0
Просмотров: 1077
Последний ответ 28.03.2012, 09:57:30
от streelok
появление "старой" (красной зачеркнутой) цены при экспорте товара через CSV Improved

Автор delff

Ответов: 1
Просмотров: 2989
Последний ответ 11.03.2010, 15:21:12
от pv066
Проблема с отображением цены товара

Автор tolstuj

Ответов: 0
Просмотров: 1938
Последний ответ 06.02.2009, 10:44:57
от tolstuj
экспортировать в файл CSV 3 цены

Автор oppo

Ответов: 5
Просмотров: 3123
Последний ответ 11.06.2008, 17:47:09
от oppo