Столкнулся с проблемой небольшой. Нужно сделать несколько валют в Ubercart, но сделать немного по-хитрому.
- Цена товара хранится либо в EUR, либо в Rub
- Скорее всего нужно 2 поля для той, и той цены, в карточке товара
- Цена на самом сайте выводится в RUB только
- Коммерц не предлагать, потому что 3тыс. товаров перебивать не особо хочется, а мигрэйт все не переносит, все равно лезть туда.
- С выводом цены в самом сайте я разобрался, добавив в код продукта вот этот код:
function uc_product_load($nodes) {
include_once("php.php");
$a = $euro;
$vids = array();
foreach ($nodes as $node) {
$vids[$node->nid] = $node->vid;
}
$result = db_query('SELECT nid, model, list_price, cost, sell_price, weight, weight_units, length, width, height, length_units, pkg_qty, default_qty, ordering, shippable FROM {uc_products} WHERE vid IN (:vids)', array(':vids' => $vids));
foreach ($result as $node) {
foreach ($node as $field => $value) {
$nodes[$node->nid]->$field = $value;
}
$nodes[$node->nid]->price = round($nodes[$node->nid]->sell_price*$euro, -1);//$euro просчитывается через php запрос к центрбанку и выводит на актуальном курсе.
}
}
Помощь нужна в том, чтобы создать правило(если цена в rub выводим нод sell_price,-1; если в евро то sell_price*euro), и вывод 2х полей в карточку товара, хотя думаю с этим проблема не такая большая, но php не особо знаю.