Перейти к содержимому


Фотография
- - - - -

Реализация продажи тарифов 2

jbadvert radiobuttons параметры цен

Лучший Ответ Staff , 08 February 2016 - 22:51

Получилось! Только в той теме использовалась вот эта строка:

$data  = (array)$tarif->data();

которая приводила к ошибке Fatal error: Call to a member function data() on a non-object in

по крайней мере в моем случае, а для radio нужно получать значение так:

if ($tarif['option']['0']==349)

и дальше... тот вариант не доработан, там jbadvert получает цену только установленную по дефолту, если пользователь поменял цену в подаче материала, то в корзину выбранная цена не попадала. Нужно это value еще передать в корзину:

$result = $order->val('349');
$result = JBCart::val('349');
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 Staff

Staff

Отправлено 07 February 2016 - 19:32

Здравствуйте.

Подскажите как изменить это решение как здесь с select'ом на получение выбранного параметра чрез элемент radio. Чтобы он также влиял на изменение цены.


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 08 February 2016 - 14:38

здравствуйте Staff, принципиальной разницы нет, селект это или радио. Через API получаете данные элемента:

// Укажите id своего элемента
$tarif = $this->_item->getElement('83821a27-6c18-4be2-a7b5-0484a4c9fc3c')->data();;

Далее смотрите что находится в переменной $tarif и делайте условия в зависимости от значению. Все то же самое.


  • 0
Изображение
 

#3 Staff

Staff

Отправлено 08 February 2016 - 15:07

Да пробовал я поменять ID, кстати в Id у меня какая-то другая штука прописана с квадратными скобками, которые синтаксис по-моему криво обрабатывается, там что-то вроде: id="elements[83821a27-6c18-4be2-a7b5-0484a4c9fc3c][option][]"

в общем не сработало у меня((

 

 

 

UPD: нужно брать только это 83821a27-6c18-4be2-a7b5-0484a4c9fc3c


Сообщение отредактировал Staff: 08 February 2016 - 22:53

  • 0

#4 Staff

Staff

Отправлено 08 February 2016 - 15:15

такое ощущение, что у меня $tariff не срабатывает вообще, т.к. не через print_r ни через echо я ее распечатать не смог. Ничего не показало. Соответственно, как определить выбранную опцию, я тоже не понял((
  • 0

#5 Staff

Staff

Отправлено 08 February 2016 - 22:51   Лучший Ответ

Получилось! Только в той теме использовалась вот эта строка:

$data  = (array)$tarif->data();

которая приводила к ошибке Fatal error: Call to a member function data() on a non-object in

по крайней мере в моем случае, а для radio нужно получать значение так:

if ($tarif['option']['0']==349)

и дальше... тот вариант не доработан, там jbadvert получает цену только установленную по дефолту, если пользователь поменял цену в подаче материала, то в корзину выбранная цена не попадала. Нужно это value еще передать в корзину:

$result = $order->val('349');
$result = JBCart::val('349');

  • 1





Темы с аналогичным тегами jbadvert, radiobuttons, параметры цен

Click to return to top of page in style!