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

Stasweb

  • Живу я здесь
  • 1087
  • 18
Пытаюсь вытащить цену товара в поле RSForm
В настройка поля в Значение по умолчанию пишу код запроса
Код
//<code>
$db = JFactory::getDbo();
$db->setQuery("SELECT `product_price` FROM `#__virtuemart_product_prices` WHERE `product_price`='value' LIMIT 1");
return $db->loadResult();
//</code>
запрос проходит так как нет не каких ошибок но при этом цена в поле не появляется.
Пробовал принудительно вызвать ошибку чтоб проверить работает ли код
Код
#__virtuemart_product_prices1
Код работает так как отдает Table '#__virtuemart_product_prices1' doesn't exist
подскажите если кто вывел цену как вы это сделали.
*

NewUsers

  • Завсегдатай
  • 645
  • 51
Re: Не могу вытащить цену с базы
« Ответ #1 : 27.05.2017, 10:34:17 »
подскажите если кто вывел цену как вы это сделали.
Код: php
<?php 
public function getProductPrice($product_id)
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('product_price');
$query->from('#__virtuemart_product_prices');
$query->where('product_id = '.(int)$product_id);
$db->setQuery((string)$query);
return $db->loadObject()->product_price;
}
?>
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Не могу вытащить цену с базы
« Ответ #2 : 27.05.2017, 14:32:46 »
тут не совсем понятно
Цитировать
WHERE `product_price`='value'
*

Stasweb

  • Живу я здесь
  • 1087
  • 18
Re: Не могу вытащить цену с базы
« Ответ #3 : 29.05.2017, 06:59:24 »
тут не совсем понятно
Именно этот код
Код: php
//<code>
$db = JFactory::getDbo();
$db->setQuery("SELECT `product_price` FROM `#__virtuemart_product_prices` WHERE `product_price`='value' LIMIT 1");
return $db->loadResult();
//</code>
я нашел на форуме на каком то уже не помню.
Данный код ошибок не дает но и информацию не выводит.
*

Stasweb

  • Живу я здесь
  • 1087
  • 18
Re: Не могу вытащить цену с базы
« Ответ #4 : 29.05.2017, 08:09:05 »
Может есть другой вариант вывести цену кроме как с базы.
Модуль стоит на странице товара с ценой и простой вывод цены не работает.
Код: php-brief
//<code>
if ($this->show_prices and (empty($this->product->images[0]) or $this->product->images[0]->file_is_downloadable == 0))
{
echo $this->loadTemplate('showprices');
//</code>
и так тоже
Код: php-brief
echo $this->loadTemplate('showprices');
« Последнее редактирование: 29.05.2017, 08:12:09 от Stasweb »
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Не могу вытащить цену с базы
« Ответ #5 : 29.05.2017, 12:21:51 »
Та не шо то не то Вы делаете .
Цитировать
WHERE `product_price`='value'
тут наверно не так нужно а так.
Код
 
WHERE `virtuemart_product_id`='".$virtuemart_product_id."'

*

Stasweb

  • Живу я здесь
  • 1087
  • 18
Re: Не могу вытащить цену с базы
« Ответ #6 : 29.05.2017, 13:36:28 »
Вы имеете в веду
Код: php-brief
//<code>
$db = JFactory::getDbo();
$db->setQuery("SELECT `product_price` FROM `#__virtuemart_product_prices`WHERE `virtuemart_product_id`='".$virtuemart_product_id."' );
return $db->loadResult();
//</code>
то это то же не работает
Вот сам код который должен отобразится в форме
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Не могу вытащить цену с базы
« Ответ #7 : 29.05.2017, 15:12:50 »
А ну да ... Так работать не будет.
!
Вам нужно на событие открытия формы повесить js - скрипт который будет находить цену товара и класть вам его в форму. )
А то что вы делаете это не то совсем/

ЩА !
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Не могу вытащить цену с базы
« Ответ #8 : 29.05.2017, 15:30:48 »



Код


var field =  jQuery('#Price'); // Id поля куда нужно кинуть цену
var price =  jQuery('.PricesalesPrice').text(); // Селектор элемента содержащий цену
//  Ну и все ставим в форму.
jQuery(field).val(price)


Вод этот код нужно в ставить в  настройках формы скрипты при открытии
только окружить его  тегом  <script></script>
*

Stasweb

  • Живу я здесь
  • 1087
  • 18
Re: Не могу вытащить цену с базы
« Ответ #9 : 30.05.2017, 08:47:07 »
Вот так настроил


Это тоже не работает
Может в RSForm вообще нет возможности брать цену с VirtueMart
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Не могу вытащить цену с базы
« Ответ #10 : 30.05.2017, 11:55:24 »
Блин ....
Вы же должны заменить .PricesalesPrice на ID элемента содержащего цену.
Для того что бы jQuery нашел этот элемент на странице!
Аналогично и #Price

У вас есть ссылка на сайт ?
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Не могу вытащить цену с базы
« Ответ #11 : 30.05.2017, 11:58:25 »
Да конечно у RSForm нет такого что бы он брал цену.
Вот тут - здесь ваще магаз построили на RSForm и все берет со страницы.
*

Stasweb

  • Живу я здесь
  • 1087
  • 18
Re: Не могу вытащить цену с базы
« Ответ #12 : 30.05.2017, 12:37:16 »
Вот страница с ценой _https://lik-astana.kz/oformlenie-v-baget-ramki/katalog-bageta/baget-10-20-mm/baget-yg1503-g55-detail.html_
Класс с ценой PricesalesPrice
Копия сайта сейчас на локалке.
Ваш скрипт
Код: html4strict
<script>
var field =  jQuery('#cenabagetagotovaya'); // Id поля куда нужно кинуть цену
var price =  jQuery('.PricesalesPrice').text(); // Селектор элемента содержащий цену
//  Ну и все ставим в форму.
 jQuery(field).val(price)
</script>

Вот скрин

*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Не могу вытащить цену с базы
« Ответ #13 : 30.05.2017, 12:43:28 »
Ну неправильно .!
Вы ставите в поле значение по умолчанию.
А нужно
В поле
Скрипты после открытия формы. - ну или что та такое. 
*

Stasweb

  • Живу я здесь
  • 1087
  • 18
Re: Не могу вытащить цену с базы
« Ответ #15 : 07.06.2017, 08:11:30 »
Есть три поля
Скрипт, вызываемый при отображении формы

Скрипт, вызываемый при обработке формы

Скрипт, вызываемый после обработки формы


В полях обрабатывается только php код
Код: php-brief
$document = JFactory::getDocument();
$document->addScriptDeclaration("
var field =  jQuery('#cenabagetagotovaya');
var price =  jQuery('.PricesalesPrice').text();
jQuery(field).val(price)
");
Так пробовал во все три поля
*

Stasweb

  • Живу я здесь
  • 1087
  • 18
Re: Не могу вытащить цену с базы
« Ответ #16 : 13.06.2017, 06:19:21 »
Может кому пригодится.
Вот рабочий вариант вставки цены в поле RSForm
Код: php-brief
$productModel = VmModel::getModel('Product');
$product = $productModel->getProduct($productId);
return $product->prices['product_price'];
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться