Форум русской поддержки Joomla!® CMS
25.07.2017, 14:46:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Не могу вытащить цену с базы

 (Прочитано 161 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Stasweb
Живу я здесь
******

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« : 27.05.2017, 11:12:48 »

Пытаюсь вытащить цену товара в поле 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
Завсегдатай
*****

Репутация: +41/-0
Online Online

Пол: Мужской
Сообщений: 552


« Ответ #1 : 27.05.2017, 11:34:17 »

подскажите если кто вывел цену как вы это сделали.
Код
<?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
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #2 : 27.05.2017, 15:32:46 »

тут не совсем понятно
Цитировать
WHERE `product_price`='value'
Записан
Stasweb
Живу я здесь
******

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« Ответ #3 : 29.05.2017, 07:59:24 »

тут не совсем понятно
Именно этот код
Код
//<code>
$db = JFactory::getDbo();
$db->setQuery("SELECT `product_price` FROM `#__virtuemart_product_prices` WHERE `product_price`='value' LIMIT 1");
return $db->loadResult();
//</code>
 
я нашел на форуме на каком то уже не помню.
Данный код ошибок не дает но и информацию не выводит.
Записан
Stasweb
Живу я здесь
******

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« Ответ #4 : 29.05.2017, 09:09:05 »

Может есть другой вариант вывести цену кроме как с базы.
Модуль стоит на странице товара с ценой и простой вывод цены не работает.
Код
//<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>
 
и так тоже
Код
echo $this->loadTemplate('showprices');
 
« Последнее редактирование: 29.05.2017, 09:12:09 от Stasweb » Записан
gartes
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #5 : 29.05.2017, 13:21:51 »

Та не шо то не то Вы делаете .
Цитировать
WHERE `product_price`='value'
тут наверно не так нужно а так.
Код:

WHERE `virtuemart_product_id`='".$virtuemart_product_id."'

Записан
Stasweb
Живу я здесь
******

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« Ответ #6 : 29.05.2017, 14:36:28 »

Вы имеете в веду
Код
//<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
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #7 : 29.05.2017, 16:12:50 »

А ну да ... Так работать не будет.
!
Вам нужно на событие открытия формы повесить js - скрипт который будет находить цену товара и класть вам его в форму. )
А то что вы делаете это не то совсем/

ЩА !
Записан
gartes
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #8 : 29.05.2017, 16:30:48 »




Код:


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


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

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« Ответ #9 : 30.05.2017, 09:47:07 »

Вот так настроил


Это тоже не работает
Может в RSForm вообще нет возможности брать цену с VirtueMart
Записан
gartes
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #10 : 30.05.2017, 12:55:24 »

Блин ....
Вы же должны заменить .PricesalesPrice на ID элемента содержащего цену.
Для того что бы jQuery нашел этот элемент на странице!
Аналогично и #Price

У вас есть ссылка на сайт ?
Записан
gartes
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #11 : 30.05.2017, 12:58:25 »

Да конечно у RSForm нет такого что бы он брал цену.
Вот тут - здесь ваще магаз построили на RSForm и все берет со страницы.
Записан
Stasweb
Живу я здесь
******

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« Ответ #12 : 30.05.2017, 13:37:16 »

Вот страница с ценой _https://lik-astana.kz/oformlenie-v-baget-ramki/katalog-bageta/baget-10-20-mm/baget-yg1503-g55-detail.html_
Класс с ценой PricesalesPrice
Копия сайта сейчас на локалке.
Ваш скрипт
Код
<script>
var field =  jQuery('#cenabagetagotovaya'); // Id поля куда нужно кинуть цену
var price =  jQuery('.PricesalesPrice').text(); // Селектор элемента содержащий цену
//  Ну и все ставим в форму.
jQuery(field).val(price)
</script>
 

Вот скрин

Записан
gartes
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #13 : 30.05.2017, 13:43:28 »

Ну неправильно .!
Вы ставите в поле значение по умолчанию.
А нужно
В поле
Скрипты после открытия формы. - ну или что та такое. 
Записан
gartes
Живу я здесь
******

Репутация: +74/-5
Offline Offline

Сообщений: 967


Е = mс²


« Ответ #14 : 06.06.2017, 19:22:55 »

http://joomlaforum.ru/index.php?topic=338531.new#new
Записан
Stasweb
Живу я здесь
******

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« Ответ #15 : 07.06.2017, 09:11:30 »

Есть три поля
Скрипт, вызываемый при отображении формы

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

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


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

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 1061



« Ответ #16 : 13.06.2017, 07:19:21 »

Может кому пригодится.
Вот рабочий вариант вставки цены в поле RSForm
Код
$productModel = VmModel::getModel('Product');
$product = $productModel->getProduct($productId);
return $product->prices['product_price'];
 
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet