PHP Magento Adaugare de produs in cos
Scris: 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 :
Iar eroarea cam asa :
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 ) )
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 ) )