Куда идем?

Проблема с отображением цен

  • endersparco
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
13 года 7 мес. назад #636 от endersparco
endersparco создал тему: Проблема с отображением цен
Добрый день.
Уважаемый wedal столкнулся с проблемой при работе с ценами в virtuemart. Как всем известно в настройках есть функция показа цен всем или определенной группе зарегистрированных полоьзователей. Так вот. В настройках виртумарт это значение не менял- то есть цены должны показываться всем, даже не зарегистрированным пользователям, а на деле пользователь не зарегистрировавшись и не выполнив вход не может увидеть цены, ему преддлагается "Позвоните, чтобы уточнить цену".
Если Вы сталкивались с такой проблемой- пожалуйста, направьте- где может быть глюк или галочка поставленная не там.
Вот адрес: iridashop.ru/index.php?option=com_virtuemart&page=shop.browse&category_id=7&Itemid=1
(не сочтите за рекламу)
Вложения:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
13 года 7 мес. назад #642 от Wedal
endersparco, такое сообщение появляется когда цены на товары не заданы.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

  • endersparco
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
13 года 7 мес. назад #646 от endersparco
endersparco ответил в теме Re: Проблема с отображением цен
В том то и дело, что цены проставлены, но не видны. Если зайти как пользователь на сайт- они появляются.:unsure:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
13 года 7 мес. назад #651 от Wedal
endersparco, тогда так:

Вложения:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

  • endersparco
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
13 года 7 мес. назад #656 от endersparco
endersparco ответил в теме Re: Проблема с отображением цен
Проверил для точности- все так как у Вас на скрине. Как вариант попробовал убрать галочку "Группа пользователей, которым показывать цены", всё равно проблема остается.
Файл virtuemart.cfg.php :: Доступен для записи

У меня почему то периодически еще и при нажатии на сохранение внесенных изменений- все то что я менял иногда становится на свои места. Как будто я ничего и не менял. Пробовал с разных браузеров, то же самое.

аааа... я скоро с ума сойду...:S

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
13 года 7 мес. назад - 13 года 7 мес. назад #657 от Tacitus
Tacitus ответил в теме Re: Проблема с отображением цен
Помнится, у меня тоже показывало "Позвонить, что бы уточнить цену", но я точно помню, что это было с товарами, к которым просто не ставишь цену. Но у меня была отключена любая регистрация, как joomla, так и в virtuemart!
Попробуй для эксперимента отключить регистрацию...!
Последнее редактирование: 13 года 7 мес. назад пользователем Tacitus.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

  • endersparco
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
13 года 7 мес. назад - 13 года 7 мес. назад #658 от endersparco
endersparco ответил в теме Re: Проблема с отображением цен
Tacitus попробовал предложенный Вами способ- к сожалению проблема осталась.
С ценами у меня такая ситуация- при добавлении или изменении цены она в общем списке товаров выделяется желтым и указывает цену 0,00, но если зайти для редактирования какого-либо конкретного товара- цена показывается. И если на сайте зайти как пользователь, то цена тоже появляется.
Вот такая вот круговерть.
Последнее редактирование: 13 года 7 мес. назад пользователем endersparco.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
13 года 7 мес. назад #663 от Wedal
endersparco, хммм... А в управлении модулями магазина(такой пункт есть в настройках Virtuemart, в списке слева) что-нибудь меняли?

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

  • endersparco
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
13 года 7 мес. назад #666 от endersparco
endersparco ответил в теме Re: Проблема с отображением цен
Wedal насколько я помню- изменений там не вносил.
Но на всякий случай снял скрин- может на самом деле там что то не так.


Вчера перенес весь сайт с хостинга на локалку (думал может каким то боком хостинг мешает), но нет- всё так же. Всё таки видимо какая то галочка меня подводит. Но какая...:dry:
Вложения:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
13 года 7 мес. назад #672 от Wedal
endersparco, вроде все правильно.

Тогда остается 2 варианта(больше ничего придумать не могу):

1) Установить на локальном сервере новый Virtuemart с демо-товарами. Проверить, что все работает, а затем поочередно сравнивать его настройки на сайте и на локальном сервере.

2) Вот код, который отвечает за вывод цены в Virtuemart:
Code:
function show_price( $product_id, $hide_tax = false ) { global $VM_LANG, $CURRENCY_DISPLAY,$vendor_mail; $auth = $_SESSION['auth']; $tpl = new $GLOBALS['VM_THEMECLASS'](); $product_name = htmlentities( $this->get_field($product_id, 'product_name'), ENT_QUOTES ); $tpl->set( 'product_id', $product_id ); $tpl->set( 'product_name', $product_name ); $tpl->set( 'vendor_mail', $vendor_mail ); $discount_info = $base_price = array(); $text_including_tax = ''; if( $auth['show_prices'] ) { // Get the DISCOUNT AMOUNT $discount_info = $this->get_discount( $product_id ); if( !$discount_info["is_percent"] && $discount_info["amount"] != 0 ) { $discount_info["amount"] = $GLOBALS['CURRENCY']->convert($discount_info["amount"]); } // Get the Price according to the quantity in the Cart $price_info = $this->get_price( $product_id ); $tpl->set( 'price_info', $price_info ); // Get the Base Price of the Product $base_price_info = $this->get_price($product_id, true ); $tpl->set( 'base_price_info', $base_price_info ); if( $price_info === false ) { $price_info = $base_price_info; } $html = ""; $undiscounted_price = 0; if (isset($price_info["product_price_id"])) { if( $base_price_info["product_price"]== $price_info["product_price"] ) { $price = $base_price = $GLOBALS['CURRENCY']->convert( $base_price_info["product_price"], $price_info['product_currency'] ); } else { $base_price = $GLOBALS['CURRENCY']->convert( $base_price_info["product_price"], $price_info['product_currency'] ); $price = $GLOBALS['CURRENCY']->convert( $price_info["product_price"], $price_info['product_currency'] ); } if ($auth["show_price_including_tax"] == 1) { $my_taxrate = $this->get_product_taxrate($product_id); $base_price += ($my_taxrate * $base_price); } else { $my_taxrate = 0; } // Calculate discount if( !empty($discount_info["amount"])) { $undiscounted_price = $base_price; switch( $discount_info["is_percent"] ) { case 0: // If we subtract discounts BEFORE tax if( PAYMENT_DISCOUNT_BEFORE == '1' ) { // and if our prices are shown with tax if( $auth["show_price_including_tax"] == 1) { // then we add tax to the (untaxed) discount $discount_info['amount'] += ($my_taxrate*$discount_info['amount']); } // but if our prices are shown without tax // we just leave the (untaxed) discount amount as it is } // But, if we subtract discounts AFTER tax // and if our prices are shown with tax // we just leave the (untaxed) discount amount as it is // but if prices are shown without tax // we just leave the (untaxed) discount amount as it is // even though this is not really a good combination of settings $base_price -= $discount_info["amount"]; break; case 1: $base_price *= (100 - $discount_info["amount"])/100; break; } } $text_including_tax = ""; if (!empty($my_taxrate)) { $tax = $my_taxrate * 100; // only show "including x % tax" when it shall // not be hidden if( !$hide_tax && $auth["show_price_including_tax"] == 1 && VM_PRICE_SHOW_INCLUDINGTAX) { $text_including_tax = $VM_LANG->_('PHPSHOP_INCLUDING_TAX'); eval ("\$text_including_tax = \"$text_including_tax\";"); } } // Check if we need to display a Table with all Quantity <=> Price Relationships if( $base_price_info["product_has_multiple_prices"] && !$hide_tax ) { $db = new ps_DB; // Quantity Discount Table $q = "SELECT product_price, product_currency, price_quantity_start, price_quantity_end FROM #__{vm}_product_price WHERE product_id='$product_id' AND shopper_group_id='".$auth["shopper_group_id"]."' ORDER BY price_quantity_start"; $db->query( $q ); // $prices_table = "<table align=\"right\"> $prices_table = "<table width=\"100%\"> <thead><tr class=\"sectiontableheader\"> <th>".$VM_LANG->_('PHPSHOP_CART_QUANTITY')."</th> <th>".$VM_LANG->_('PHPSHOP_CART_PRICE')."</th> </tr></thead> <tbody>"; $i = 1; if ($db->num_rows()==0) { // get the vendor ID $q = "SELECT vendor_id FROM #__{vm}_product WHERE product_id='$product_id'"; $db->setQuery($q); $db->query(); $db->next_record(); $vendor_id = $db->f("vendor_id"); // get the default shopper group ID $q = "SELECT shopper_group_id FROM #__{vm}_shopper_group WHERE `vendor_id`='$vendor_id' AND `default`='1'"; $db->setQuery($q); $db->query(); $db->next_record(); $default_shopper_group_id = $db->f("shopper_group_id"); // get the current shopper group discount $q = "SELECT * FROM #__{vm}_shopper_group WHERE shopper_group_id=" . $auth["shopper_group_id"]; $db->setQuery($q); $db->query(); $db->next_record(); $shopper_group_discount = $db->f("shopper_group_discount"); // check for prices in default shopper group $q = "SELECT product_price, price_quantity_start, price_quantity_end, product_currency FROM #__{vm}_product_price WHERE product_id='$product_id' AND shopper_group_id='".$default_shopper_group_id."' ORDER BY price_quantity_start"; $db->query( $q ); while( $db->next_record() ) { $prices_table .= "<tr class=\"sectiontableentry$i\"><td>".$db->f("price_quantity_start")." - ".$db->f("price_quantity_end")."</td>"; $prices_table .= "<td>"; if (!empty($my_taxrate)) $prices_table .= $CURRENCY_DISPLAY->getFullValue( ($my_taxrate+1)*$db->f("product_price")*((100-$shopper_group_discount)/100) ); else $prices_table .= $CURRENCY_DISPLAY->getFullValue( $db->f("product_price")*((100-$shopper_group_discount)/100) ); $prices_table .= "</td></tr>"; $i == 1 ? $i++ : $i--; } } else { // get the current shopper group discount $dbsg = new ps_DB(); $q = "SELECT * FROM #__{vm}_shopper_group WHERE shopper_group_id=" . $auth["shopper_group_id"]; $dbsg->setQuery($q); $dbsg->query(); $dbsg->next_record(); $shopper_group_discount = $dbsg->f("shopper_group_discount"); while( $db->next_record() ) { $price = $GLOBALS['CURRENCY']->convert( $db->f("product_price"), $db->f("product_currency") ); $prices_table .= "<tr class=\"sectiontableentry$i\"><td>".$db->f("price_quantity_start")." - ".$db->f("price_quantity_end")."</td>"; $prices_table .= "<td>"; if (!empty($my_taxrate)) { $prices_table .= $CURRENCY_DISPLAY->getFullValue( ($my_taxrate+1)*$price*((100-$shopper_group_discount)/100) ); } else { $prices_table .= $CURRENCY_DISPLAY->getFullValue( $price*((100-$shopper_group_discount)/100) ); } $prices_table .= "</td></tr>"; $i == 1 ? $i++ : $i--; } } $prices_table .= "</tbody></table>"; if( @$_REQUEST['page'] != "shop.product_details" ) { $html .= vmToolTip( $prices_table ); } else $html .= $prices_table; } } } $tpl->set( 'discount_info', $discount_info ); $tpl->set( 'text_including_tax', $text_including_tax ); $tpl->set( 'undiscounted_price', @$undiscounted_price ); $tpl->set( 'base_price', $base_price ); $tpl->set( 'price_table', $html); $tpl->set( 'parent_has_children', $this->parent_has_children($product_id)); return $tpl->fetch( 'common/price.tpl.php'); }

Попробуйте разобраться.
Спасибо сказали: endersparco

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

  • endersparco
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
13 года 7 мес. назад #733 от endersparco
endersparco ответил в теме Re: Проблема с отображением цен
Следуя Вашему совету сравнил настройки vm на локалке и в интернете- различий нет.
В коде цеплялся за все, но в нем так же все сходится.
Силы закончились- переустановил vm. Настраиваю заново. :(
Wedal вам отдельное спасибо за помощь!

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
13 года 1 мес. назад #1857 от angry_ded_mazay
angry_ded_mazay ответил в теме Re: Проблема с отображением цен
Бьюсь над той же проблемой уже несколько недель:( Поиски решения в сети пока ни к чему не привели... Хотелось бы поинтересоваться у endersparco, помогла ли переустановка vm?

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.