Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Récupération de panier avec params #1

Open
gtraxx opened this issue Oct 18, 2023 · 1 comment
Open

Récupération de panier avec params #1

gtraxx opened this issue Oct 18, 2023 · 1 comment

Comments

@gtraxx
Copy link
Member

gtraxx commented Oct 18, 2023

Actuellement, le panier ne récupère pas les produits si la session est quittée, car $this->current_cart est vide et n'exécute pas retreiveAccountCart.
Si celle-ci peut être remplie facilement, le panier charge bien les produits, mais sans attributs, etc …
Donc il faut trouvé un moyen de charger les données des plugins suppl. pour réintroduire les informations supplémentaires.
Actuellement dans retreiveAccountCart :

$this->cart->addItem($product, $quantity, $unit_price ,$pVat);

Il faudrait quelque chose dans ce style :

if(!empty($param)) {
      $this->getProductParamPrice($param);
}
// Insert into cart
$this->cart->addItem($product, $quantity, $unit_price ,$pVat, $param);

Note : je ne sais pas si getProductParamPrice est nécessaire.

@gtraxx gtraxx changed the title Récupération de panier Récupération de panier avec params Oct 18, 2023
@gtraxx
Copy link
Member Author

gtraxx commented Oct 18, 2023

@Xarksass dans retreiveAccountCart j'ai ajouté :

$param = $this->getRetreiveParam($item['id_items']);
                // Get the product vat rate
                if(!empty($param)) {
                    // Insert into cart
                    $this->cart->addItem($product, $quantity, $unit_price ,$pVat, $param);
                }else{
                    // Insert into cart
                    $this->cart->addItem($product, $quantity, $unit_price ,$pVat);
                }

Et la fonction testé a ajouté dans un plugin dédié a cartpay :

public function getRetreiveParam(int $id) :array{
        $cartpay = $this->getItems('cartpay', ['id' => $id], 'all', false);
        $data = [];
        $i = 1;
        foreach($cartpay as $key => $item){
            $data['attribute'][$i] = $item['id_attr_va'];
            $i++;
        }
        return $data;
    }

Qu'en penses-tu ? Cela me permet de par exemple récupérer les attributs d'un produit et de les réattribuer dans la session

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants