Laravel 6

problème affichage image produit

Avatar de FlorentStoecklin
FlorentStoecklin

Bonjour à tous j'essaye d'afficher mes images dans mon carte mais sans succès j'utilise le bundle darryldecode si quelqu'un aurait une idée merci beaucoup.

Lien capture écran: https://zupimages.net/viewer.php?id=20/30/8jmd.png https://zupimages.net/viewer.php?id=20/30/yu5o.png

Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Salut,

La vue que tu as envoyé semble ne pas exactement correspondre à ta capture ($720.00 au lieu de $2160.00 par exemple). On peut donc supposer qu'il y a eu des modifs entre temps... Soyons précis.

Sinon, deux choses:

  • As-tu des erreurs en console en front ?
  • As-tu essayé de fait un {{ dd($products) }} dans ta vue pour vérifier le contenu ?
Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

Bonjour, merci de votre réponse si en faite c'est que j'avais pas fait une grande capture https://zupimages.net/viewer.php?id=20/30/uyar.png.

j'ai aussi fais le {{ dd($products) }} mais sans succès ...https://zupimages.net/viewer.php?id=20/30/517w.png https://zupimages.net/viewer.php?id=20/30/q018.png Je suis largué..

Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Rien ne se passe quand tu fait le dd ? Dans ce cas, je pense que la réponse est simple: $product est vide. Fait ton {{ dd($product) }} avant ton @if(!empty($product)... et tu tombera probablement sur un tableau vide

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

J'obtiens cette erreur en faisant ceci {{ dd($product) }} ErrorException Undefined variable: product (View: C:\wamp64\www\jeffCommerce\resources\views\cart.blade.php) http://localhost:8000/cart

Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Il faut un s a products {{ dd($products) }}

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

J'ai aussi essayé mais sans succès ErrorException Undefined variable: products (View: C:\wamp64\www\jeffCommerce\resources\views\cart.blade.php) http://localhost:8000/cart

Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Ben tu as trouvé ton erreur: la variable products n'existe pas. Donc il ne risque pas de t'afficher des infos sur une variable qui n'existe pas... C'est donc au niveau du controller qu'il te faut te tourner

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

dans mon controller j'ai bien pourtant

public function home() { $products = Product::all(); return view('home', [ 'products' => $products ]); }

Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Oui mais la fonction que tu montre est pour la vue home, or tu es dans la vue cart donc ce n'est pas la même fonction. Quelle est la fonction du controller qui envoie la vue cart ?

Ps: quand tu poste un code, essaie de le mettre en forme avec l'éditeur du forum (tu surligne et clic sur le bouton </>)

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

Celle-ci alors? Merci pour l'info du </>

https://zupimages.net/viewer.php?id=20/30/ex6h.png

Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

C'est normal, tu ne retourne rien du tout. (A moins que tu ait fait un masterComposer pour passer ton cart à toutes les vues.) Je ne sais pas comment son construites tes tables mais il faudrait au moins retourner le contenu du cart et peut-être les infos des produits associés. D'après la doc, peut-être qu'un Cart::getContent(); afficherait le contenu du cart. Je vois que tu as essayé un dd(Cart:content());

Essaye dd(Cart::getContent()); dans ta fonction index(), tu verra peut-être le contenu de ton cart. Tu saura donc si tu as toutes les infos ou s'il faut aussi aller chercher les produits à part.

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

Oui merci j'avais déjà essayé ceci dd(Cart::getContent()); ErrorException Non-static method Darryldecode\Cart\Cart::getContent() should not be called statically Avec le Cart::getContent(); je récupère des infos https://zupimages.net/viewer.php?id=20/30/fmnq.png

https://zupimages.net/viewer.php?id=20/30/x1ct.png

Encore merci pour votre aide

Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Essaye de mettre un \ pour voir. Donc dd(\Cart::getContent()); dans la fonction index() de ton controller. Ca devrait endiguer l'erreur non-static method

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

Yes merci je récupère bien un tableau et maintenant comment afficher mes photos.

Darryldecode\Cart\CartCollection {#1588 ▼
  #items: array:1 [▼
    1 => Darryldecode\Cart\ItemCollection {#1579 ▼
      #config: null
      #items: array:7 [▼
        "id" => "1"
        "name" => "Mangue / Passion"
        "price" => 100.99
        "quantity" => 12
        "attributes" => Darryldecode\Cart\ItemAttributeCollection {#1584 ▶}
        "conditions" => []
        "associatedModel" => "App\Product"
      ]
    }
  ]
}
Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Ben là:

  • soit pour chaque produit du cart, tu vas chercher l'image
  • soit, plus dur mais bien mieux, tu modifie la methode Cart::add pour pouvoir ajouter l'image dans ton store()

Déplie d'abbord le "attribules" de ton dd pour voir si l'image ne s'y cache pas au cas où...

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

Voila j'ai tout déplié

Darryldecode\Cart\CartCollection {#1590 ▼
  #items: array:2 [▼
    1 => Darryldecode\Cart\ItemCollection {#1579 ▼
      #config: null
      #items: array:7 [▼
        "id" => "1"
        "name" => "Mangue / Passion"
        "price" => 100.99
        "quantity" => 12
        "attributes" => Darryldecode\Cart\ItemAttributeCollection {#1584 ▼
          #items: []
        }
        "conditions" => []
        "associatedModel" => "App\Product"
      ]
    }
    3 => Darryldecode\Cart\ItemCollection {#1585 ▼
      #config: null
      #items: array:7 [▼
        "id" => "3"
        "name" => "Mangue / Coco"
        "price" => 100.99
        "quantity" => "6"
        "attributes" => Darryldecode\Cart\ItemAttributeCollection {#1586 ▼
          #items: []
        }
        "conditions" => []
        "associatedModel" => "App\Product"
      ]
    }
  ]
}

et ma public function dans mon CartController

public function store(Request $request)
    {
        \Cart::add($request->id, $request->name, 100.99, $request->price)->associate('App\Product');

        return redirect()->route('cart.index')->with('success', 'Produit ajouté au panier !');
    }
Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Le attribule est justement prévupour rajouter ce que tu veux apparement. Du coup essaye de modifier ton store comme ça:

public function store(Request $request)
{
    $attributes = [
        'image' => $request->image
    ];
    \Cart::add($request->id, $request->name, 100.99, $request->price, $attributes)->associate('App\Product');

    return redirect()->route('cart.index')->with('success', 'Produit ajouté au panier !');
}

Je suis parti du principe que l'image est dispo avec $request->image mais si ce n'est pas le cas, il faut adapter. Une fois que tu as modifié ta fonction store(), il te faudra ajouter un nouveau produit au panier et reesayer le dd(\Cart::getContent()); pour voir si l'image est enregistrée dans les attributs.

Je fais ça à l'aveugle et je n'ai jamais fait d'appli avec un panier donc je ne promet rien...

Posté il y a 2 mois
Avatar de FlorentStoecklin
FlorentStoecklin

Merci je récupère bien mes produits mais pour afficher la photos toujours pas

Darryldecode\Cart\CartCollection {#1592 ▼
  #items: array:3 [▼
    1 => Darryldecode\Cart\ItemCollection {#1579 ▼
      #config: null
      #items: array:7 [▼
        "id" => "1"
        "name" => "Mangue / Passion"
        "price" => 100.99
        "quantity" => 12
        "attributes" => Darryldecode\Cart\ItemAttributeCollection {#1584 ▶}
        "conditions" => []
        "associatedModel" => "App\Product"
      ]
    }
    3 => Darryldecode\Cart\ItemCollection {#1585 ▼
      #config: null
      #items: array:7 [▼
        "id" => "3"
        "name" => "Mangue / Coco"
        "price" => 100.99
        "quantity" => "6"
        "attributes" => Darryldecode\Cart\ItemAttributeCollection {#1586 ▶}
        "conditions" => []
        "associatedModel" => "App\Product"
      ]
    }
    7 => Darryldecode\Cart\ItemCollection {#1587 ▼
      #config: null
      #items: array:7 [▼
        "id" => "7"
        "name" => "Mangue / Orange"
        "price" => 100.99
        "quantity" => "6"
        "attributes" => Darryldecode\Cart\ItemAttributeCollection {#1588 ▶}
        "conditions" => []
        "associatedModel" => "App\Product"
      ]
    }
  ]
}
Posté il y a 2 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Il faut déplier les attributes pour voir s'il y a la photo dans le dernier produit que tu as ajouté

Posté il y a 2 mois

Vous ne pouvez pas répondre à ce sujet.