Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

jQuery калькулятор на основе webform

jQuery калькулятор на основе webform
, by
Добрый день Иван!
Посмотрел Ваше видео - очень увлекательно и занимательно. Но не нашел примера для решения моей задачи.
 
Написал у Вас на форуме - но ни кто не дает ответа. Может Вы подскажите - как ее реализовать.
 
Есть Таксономия с наименованием и полями с данными - надо умножить на введенное значение пользователя и вывести в поля.

Наименование Значение 1 Значение 2 и Значение 3
Товар1 12,2 13,5 45,1
Товар2 46,1 41,7 5,8
Товар3 1,8 3,5 0,5
Товаров около 100.

Данное наименование выводится в выпадающий список
Есть поле для пользователя – где вводится значение, например, 245.
Есть 3 поля.

Итог1, Итог2, Итог3.

Надо что бы при выборе из списка, значения из товара умножалось на значение введение пользователем и делилась на 100.

Например, выбрали Товар 2:

Итог1= (46,1*245)/100

Итог2= (41,7*245)/100

Итог3= (5,8*245)/100
 
И кнопка сохранить.

 Подскажите как реализовать данную задачу.
1 answer
votes: 1288
Answer

Для начала вам понадобится модуль Commerce для товаров, чтобы потом было проще расширять возможности сайта. Товары можно создать потом, а вот ноды для товаров с тремя полями можно уже сейчас создать. Привязать выбор товара в вебформе можно через эти модули Entity Form, Entity Reference:
https://www.drupal.org/project/entityform 
https://www.drupal.org/project/entityreference

Это позволит сделать выбор, но данные из трех полей придется вытаскивать ajax'ом. Три поля можете создать через webform, а данные в них подтягивать уже в ajax. В ajax запрос нужно передавать nid продукта (который может быть в value селекта продуктов), потом уже в ajax callback'е через node_load($nid) получаем объект, продукта и дальше нужно массив формы $form дополнить значениями трех полей, ну и отправить $form обратно в ajax callback'e.