Здравствуйте!...
Drupal 7 + Ubercart 3 (:
Есть список товаров, который выводится Views (см. приложение). Необходимо было добавить возможность выбирать тип вывода цены. В шапку "вьюхи" была добавлена форма след. содержания:
if($_POST['getprice']=='grn')
$_SESSION['getpriceclient']='1';
if($_POST['getprice']=='grnbn')
$_SESSION['getpriceclient']='2';
if($_POST['getprice']=='grncr')
$_SESSION['getpriceclient']='3';
?>
>Гривна
>Гривна б\н
>Гривна кредит
В самой вьюхе выключил поля "стоимость в долларах" и "стоимость товара грн", т.е. они не отображаются. Но за отображение цен на товары отвечает поле глобальной PHP:
<?php
mysql_connect('db13.freehost.com.ua', 'itglobals_itglob', 'nIige53qz');
mysql_select_db("itglobals_itglobals");
$dolar=mysql_fetch_array(mysql_query("SELECT value FROM uc_settings WHERE id='1'"));
$pr=mysql_fetch_array(mysql_query("SELECT value FROM uc_settings WHERE id='2'"));
$cr=mysql_fetch_array(mysql_query("SELECT value FROM uc_settings WHERE id='3'"));
if(!
$_SESSION['getpriceclient'] or $_SESSION['getpriceclient']=='1')
{
$row->cost=$row->cost;
$row->sell_price=$row->sell_price;
}
if($_SESSION['getpriceclient']=='2')
{
$procent=$pr['value']/100;
$row->sell_price=$row->sell_price*$procent+$row->sell_price;
$row->cost=round($row->sell_price/$dolar['value'],2);
}
if(
$_SESSION['getpriceclient']=='3')
{
$crt=$cr['value']/100;
$row->sell_price=$row->sell_price*$crt+$row->sell_price;
$row->cost=round($row->sell_price/$dolar['value'],2);
}
echo '<span class="views-field views-field-cost">$'.number_format($row->cost, 2, '.', ',')."</span><br>";
echo "<span class='views-field-sell-price'>".number_format($row->sell_price, 2, '.', ',')." грн.</span>";
?>
Посетитель выбирает тип цены. Значение записывается в сессию, страница перегружается, селект устанавливается в то, что выбрал посетитель, но цены не обновляются!... Если обновить страницу еще раз, только тогда они обновятся.
Подскажите, пожалуйста, в чём проблема?.. Как правильно без двойной перезагрузки сделать обновление цен?...
Вложение | Размер |
---|---|
![]() | 217.12 КБ |