PHP Magento Adaugare de produs in cos

Discuţii despre Magento. Instalare, configurare, MODificări

Moderator: Moderatori

theramore
PHPRomania Supporter
Mesaje: 12
Membru din: Lun Aug 22, 2011 4:04 pm
Localitate: Slobozia
Contact:

PHP Magento Adaugare de produs in cos

Mesajde theramore » Mie Mai 17, 2017 2:23 pm

Buna ziua !
Incerc sa dezvolt o aplicatie (phonegap) Android/iOS care sa comunice cu o platforma magento. Pentru asta am un fisier JS ce trimite $.post catre un fisier .php aflat pe serverul cu magento chiar in root-ul acestuia. Problema mea este in fisierul PHP care arata cam asa :

Cod: Selectaţi tot

<?php
require_once 'app/Mage.php';
header("Access-Control-Allow-Origin: *");

$pass = isset($_GET['pass']) ? strip_tags(trim($_GET['pass'])) : '';
if ($pass === md5('OParola')) {
    $action = isset($_GET['action']) ? strip_tags(trim($_GET['action'])) : '';
   header("Content-Type: application/json");
    if ($action == 'add_to_cart') {
        $email = isset($_POST['email']) ? strip_tags(trim($_POST['email'])) : 'office@simpapp.ro';
        $entity_id = isset($_POST['entity_id']) ? strip_tags(trim($_POST['entity_id'])) : '115';
        $qty = isset($_POST['qty']) ? strip_tags(trim($_POST['qty'])) : '1';
        Mage::app();
        $jsonData = array();
        $customer = Mage::getModel('customer/customer')
            ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
            ->loadByEmail($email);
        Mage::getSingleton('customer/session')->setCustomerAsLoggedIn($customer)
            ->renewSession();
        $session = Mage::getSingleton('customer/session', array('name' => 'frontend'));
        $cart = Mage::getSingleton('checkout/cart');
        $cart->init();
        $product = Mage::getModel('catalog/product')->load($entity_id);
        if($product->getHasOptions()){
      $attribute1 = $product->getData('marime'); //see admin for attribute code
      $product->setData('marime', '117');
      $attribute2 = $product->getData('marime'); //see admin for attribute code
        }
        var_dump($attribute1);
        var_dump($attribute2);
        $cart->addProduct($product,array('product_id' => $entity_id, 'qty' => $qty, 'options' => array(117 => array('product_id' => 117, 'qty' => $qty))));
       
        //$session->setCartWasUpdated(true);

        // save the cart
        $cart->save();
        $jsonData['msg'] = 'Produs adaugat in cos!';
        echo Mage::helper('core')->jsonEncode($jsonData);
        $session->clear();
    }
}
?>


Iar eroarea cam asa :

Cod: Selectaţi tot

Fatal error: Uncaught exception 'Mage_Core_Exception' with message 'Please specify the product's option(s).' in /home/public_html/app/Mage.php:595 Stack trace: #0 /home/public_html/app/code/core/Mage/Checkout/Model/Cart.php(284): Mage::throwException('Please specify ...') #1 /home/public_html/simpapp.php(476): Mage_Checkout_Model_Cart->addProduct(Object(Mage_Catalog_Model_Product), Array) #2 {main} thrown in /home/public_html/app/Mage.php on line 595


Asta se intampla din cate am inteles deoarece produsul este de tip "configurabil" si nu poate veni singur ci doar cu un alt produs ca addon(In cazul de fata este un tricou , iar optiunea - marime (S,M,L - care la randul lor sunt alte produse ) )



nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: PHP Magento Adaugare de produs in cos

Mesajde nevvermind » Mie Mai 17, 2017 8:41 pm

Cauta pe net, dude. Multi au avut problema ta: https://www.google.co.uk/search?q=magen ... o+cart+api
Eroare zicea de Product options, nu de produsele-copii ale configurabilului, deci e altceva. Se asteapta la vreo cheie "options" probabil, nu mai tin minte. Vezi pe gugal.

Haoleu! md5('parola')! Is asa de multe variante mai bune decat asta incat nu stiu de unde sa incep. Am sa presupun ca doar testezi si ca n-ai sa-l lasi asa in productie.

Orisicum, aplicatiile pot fi integrate cu Magento prin API-ul lui, fie REST, fie SOAP. Are si metode de-a adauga produse intr-un cart: http://devdocs.magento.com/guides/m1x/a ... t.add.html. Ala-i SOAP. Vezi si REST, poate-ti place mai mult ala.
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

l33t
Senior Member
Mesaje: 216
Membru din: Sâm Mai 10, 2008 7:31 pm

Re: PHP Magento Adaugare de produs in cos

Mesajde l33t » Lun Mai 22, 2017 2:55 pm

Ai un modul in app/code/core/Mage -> MobileConnect, acolo ai 2 controllere - CatalogProduct si CartController, primul il folosesti ca sa afisezi produsul configurabil (optiuni) iar al doilea pentru a il adauga in cos.
Va trebui sa-ti configurezi din admin un appcode.


Înapoi la “Magento”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator