Мне нужно динамически изменять пользовательский атрибут на настраиваемой странице, когда я нажимаю на атрибут цвета образца.Для этого я программно создал пользовательские атрибуты с опциями на панели администратора, где я могу сохранить для каждого продукта свои собственные пользовательские атрибуты.Я понимаю, как вызывать свои пользовательские атрибуты на простых продуктах, но я не могу сделать это с настраиваемым продуктом.
Я вижу, когда я изменяю атрибут цвета - цена меняется для каждого простого продукта ([это вещь по умолчанию), как сделать то же самое, но с моими пользовательскими атрибутами?У меня есть одна идея, но я не знаю, как это реализовать.Так что я знаю, как получить текущий идентификатор продукта, когда вы щелкнули по атрибуту цвета ( через код js ), а затем мне нужно передать эти данные идентификатора в контроллер через ajax.Мне нужно знать, как именно это сделать, как передавать данные js через ajax в контроллер, а затем каждый раз, когда я нажимаю на атрибут цвета, вызывать нужный блок на странице категории??Когда я узнаю, как это сделать, я получу эти данные идентификатора - пользовательские значения атрибутов и вызову этот шаблон в нужном месте.Ниже приведен код, который вызывает настраиваемые атрибуты настраиваемого продукта, но он вызывает все атрибуты для всех простых продуктов, включаемых в настраиваемый продукт.Мне нужно вызывать эти атрибуты для текущего продукта каждый раз, когда я кликаю по атрибуту цвета.Например: если я нажимаю на черный цвет (который относится к продукту с идентификатором 123), я получаю пользовательский блок с пользовательскими атрибутами без перезагрузки страницы (например, цена). атрибуты цвета
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->get('Magento\Framework\Registry')->registry('current_product');
$product_id = $product->getId();
$configProduct = $objectManager-
>create('Magento\Catalog\Model\Product')->load($product_id);
$configurable = $configProduct->getTypeId() ==
\Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE;
$_children = $configProduct->getTypeInstance()-
>getUsedProducts($configProduct);
if ($configurable){
foreach ($_children as $child){
$child_badge = $child->getResource()->getAttribute('mycustom_attribute_code')->getFrontend()->getValue($child);
echo $child_badge;
}
}