Как я могу получить комбинации ID из массива id_attributes - PullRequest
0 голосов
/ 24 апреля 2018

Я использую функцию Cart::updateQty() в моем модуле для prestashop. Я также хотел бы использовать параметр $id_product_attribute, но я не могу найти нужное значение для этого, когда у меня есть только массив id_attributes. Мне нужно поведение, похожее на поведение по умолчанию при выборе атрибутов продукта на странице продукта и последующем добавлении его в корзину, но я хотел бы сделать это на стороне сервера.

Мне удалось выяснить, что при изменении атрибутов продукта на странице продукта ввод html с id="idCombination" # idCombination заполняется надлежащим значением, а затем отправляется с помощью ajax на сервер. К сожалению, я не могу понять, как происходит настоящий поиск и как это сделать в js или php-коде.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 25 апреля 2018

На странице продукта по умолчанию эти комбинации переносятся с переменной $combination в ProductController.php с помощью метода assignAttributesGroups(), а затем определяют переменную js внутри product.tpl через условие

{if isset($combinations) && $combinations}
    {addJsDef combinations=$combinations}
{/if}

после этого происходит в файле product.js, который выполняет всю работу по переключению и заменяет id="idCombination" после каждого изменения. Таким образом, вы можете повторить подход по умолчанию для реализации ваших требований, даже если он выглядит немного сложным. Кроме того, я думаю, что вам не нужна такая заполненная переменная комбинации $ со всей этой информацией, и вы можете добавить только то, что вам нужно. Надеюсь, это прояснит вам направление работы.

...