Вообще я уже придумал другой хитрый способ, чтобы обойти ограничение. Но поясню чего не хватает в гридбокс и почему мне пришлось использовать дополнительный код.
Есть бизнес который продает душевые кабины под заказ. У них есть типовые размеры остекления, но цена этого стекла не фиксированная, а складывается из формулы
Общая цена = (площадь стекла * цену стекла) + (площадь стекла * цену варианта обработки стекла) + (площадь стекла * цену варианта защиты стекла) + простые доп.опции.
Если использовать опции гридбокс то получается что для каждого товара нужно заполнить от 500 до 1500 вариантов цены, что есть невозможно.
Использовать extra опции так же не подходит там наценка фиксированная и не зависит от площади изделия.
В отношении компонента магазина не хватает немного функционала из форм, логики для полей и калькулятор.
Или хотя бы возможность задавать количество товара дробным числом( 2.4 шт.) или чтобы "вес товара" влиять на цену, тогда бы можно было решить мою проблему обычным функционалом.
Для чего я задал вопрос.
Я хотел производить доп. расчеты в js, затем динамически при смене опций товара, менять цену одной из стандартных опций, чтобы получать правильную цену товара, с учетом описанных особенностей бизнеса.
https://works.weston.alexander-drobakhin.com/dushovi-kabiny/configurator
Насколько я разобрался, эта стандартная опция, как и любая другая, получается из файла:
index.php?option=com_gridbox&task=editor.getItems&id=62&theme=9&edit_type=&view=page&menuitem=177&2022-12-07-13-47-28
Там она спрятана под толщей вложенных массивов.
А как обратиться к var gridboxItems и заменить значение глубоко спрятанной опции на свое новое значение, я не знаю)
gridboxItems["page"]["item-15948919360"]["productData"]["data"]["extra_options"]["3"]["items"]["1669539038997"]["price"]
это пример, по сути подойдет цена любой опции, важно понять принцип.
Хотя я уже придумал другое решение по принципу древних щет))
создал 5 вариантов опций, в каждой из которых всего по 9 значений
единицы 1-9
десятки 10-90
сотни 100-900
тысячи 1000-9000
и десятки т. 10000-90000
из этих 5 опций можно получить любую цену от 1 до 99 999
Все остальные опции для клиентов без цены.
А эти 5 скрыты и выбираются скриптами после смены опций клиентом.
+некоторые другие расчету и в итоге получиться нужный результат)