Laravel Package Card
Bonsoir, bonjour
Je créer un site e-commerce avec laravel et un package qui est celui-ci:
https://github.com/olimortimer/LaravelShoppingcart
Il y a la fonction "addCost()". Mais cela affecte le prix uniquement sur la page panier. Comme c'est écrit: "Add this method before summarizing the whole cart. The costs are not saved in the session (yet)." Justement moi j'aimerai que le coût s'enregistre.
Comment puis-je procéder pour que je puisse faire un vrai total dans "Mes détails de vente" où il y ' a:
- Sous-total
- Frai de vente (ce que je cherche à faire)
- Total (sous-total+tax+sous-total)
J'avais pensé à récuperer les id des produits afficher dans le controller index puis faire une somme du champ "shipping" dans la table "products" de tout les produits dans le panier et du coup serait ça donnerait: Cart::total() + $somme; Quand pensez-vous?
PS: tax = 0 car elle est incluse dans le sous-total.
Salut,
Le package que tu utilises n'est pas très populaire et a peu d'activité, c'est toujours un signe à prendre en compte. Il existe d'autres solutions qui ont fait leurs preuves. Personnellement j'utilise ce package sans aucun problème.
j´utilisai ce package mais j´ai un probleme en ajoutant une option.
elle ne saffecte pas si la quantité d´un produit est = 2, loption se rajoute qunne fois au prix total.
@bestmomo, j'ai re-utilisé la lib que tu m'as donné dans mon panier.blade.php:
@foreach(Cart::getConditions() as $condition)
<li class="d-flex justify-content-between py-3 border-bottom"><strong class="text-muted">Frai d'envoi</strong><strong> {{ getPrice($condition->getValue())}} €</strong></li>
@endforeach
ça ne m'affiche rien
Dans mon controller:
\Cart::add([
'id' => $product->id,
'name' => $product->title,
'price' => $product->price,
'quantity' => 1
])->associate('App\Product');
$coupon101 = new \Darryldecode\Cart\CartCondition(array(
'name' => 'COUPON 101',
'type' => 'coupon',
'value' => '+100',
'target' => 'total'
));
\Cart::addItemCondition($product->id, $coupon101);
Sur "ma détail de commande" j'ai subTotal où il y a eu "+100", et aussi "total", alors que j'ai juste demandé "target" => "total". et j'aimerai également n'affiche qu'une ligne "frai de port", là j'ai fait un foreach pour les voir juste uniquement
Je suis perdu ?_?
Je n'ai jamais utilisé les conditions, il ne faudrait pas d'abord ajouter la condition dans le panier Cart::condition($coupon101);
avant d'affecter la condition à l'item ?
@bestmomo,
j'ai fait ça:
$product = Product::find($request->product_id);
$condition = new \Darryldecode\Cart\CartCondition(array(
'name' => 'Frai',
'type' => 'misc',
'target' => 'total',
'value' => '+100',
'order' => 0,
'attributes' => [
'description' => 'Frai d\'expedition'
]
));
\Cart::condition($condition);
\Cart::add([
'id' => $product->id,
'name' => $product->title,
'price' => $product->price,
'quantity' => 1
])->associate('App\Product');
\Cart::addItemCondition($product->id, $condition);
ça marche mais c'est bugué, à mon sous-total ça me calcul: prix commande avec le "+100" et en total: sous-total + 100.
@bestmomo update! j'ai réussi,
sauf que subtotal = total alors que jai précisé "taget" => total
$saleCondition = new \Darryldecode\Cart\CartCondition(array(
'name' => 'Frai envoie',
'type' => 'misc',
'target' => 'total',
'value' => '+'.$product->shipping
));
\Cart::add([
'id' => $product->id,
'name' => $product->title,
'price' => $product->price,
'quantity' => 1
])->associate('App\Product');
\Cart::addItemCondition($product->id,$saleCondition);
Vous ne pouvez pas répondre à ce sujet.