Vui lòng chỉ định (các) tệp tùy chọn bắt buộc của sản phẩm


8

Tôi chỉ có một tùy chọn tùy chỉnh, đó là loại tệp, tôi đã cố gắng thêm sản phẩm vào giỏ hàng theo chương trình như thế này:

$logoSku = 'lg-brnd01';
$productLogo = Mage::getModel('catalog/product')->loadByAttribute('sku',$logoSku);
$logoOptions = $productLogo->getOptions();
$opts = Mage::getSingleton('catalog/product_option')->getProductOptionCollection($productLogo);
$i =0;
$cart = Mage::getModel('checkout/cart');
$cart->init();
$params = array(
    'product' => $productLogo->getId(),
    'qty' => 1,
    'form_key' => Mage::getSingleton('core/session')->getFormKey(), 
);
foreach ($opts->getData() as $data) {
    $optionId = $data['option_id'];
    $image = $paths[0]['name'];
    $options =  array(
    $optionId => array(
        'type' => $paths[0]['type'],
        'title' => $image,
        'quote_path' => DS.'media'.DS.'uploads'.DS.'logo-branding'.DS.$quote_id.DS.$image,
        'order_path' =>  DS.'media'.DS.'uploads'.DS.'logo-branding'.DS.$quote_id.DS.$image,
        'fullpath' => $path.$image,
        'secret_key' => substr(md5(file_get_contents($path.$image)), 0, 20)),
    );
    $params['options_'.$optionId.'_file_action'] = 'save_new';
}
$params['options'] = $options;
print_r($params);
$request = new Varien_Object();
$request->setData($params);
try {
    $cart->addProduct($productLogo->getId(), $request);
    $cart->save();
    $i++;
} catch (Exception $e) {
    print_r($e->getMessage());
}

nhưng tôi đã gặp một lỗi như thế này:

Vui lòng chỉ định (các) tùy chọn bắt buộc của sản phẩm


Bạn có thể vui lòng đăng nhập ngoại lệ ban đầu trong ứng dụng / mã / lõi / Mage / Danh mục / Mô hình / Sản phẩm / Tùy chọn / Loại / File.php trên dòng 183 và đăng nó không?
— LDusan

Câu trả lời:


0

Bạn cố gắng thêm vào thẻ một sản phẩm có thể định cấu hình và bạn đã không sửa tùy chọn của sản phẩm này: vì vậy có thể mã của tôi sẽ hữu ích cho bạn:

<?php

include 'app/Mage.php';

Mage::app();

// Need for start the session

Mage::getSingleton('core/session', array('name' => 'frontend'));

try {

    $product_id = '126'; // Replace id with your product id

    $product = Mage::getModel('catalog/product')->load($product_id);

    $cart = Mage::getModel('checkout/cart');

    $cart->init();

    $params = array(

        'product' => $product_id,

        'super_attribute' => array(

            525 => 100,
            //525 is the attribute id of size and 100 is the selected option value (small) of that attribute.

        ),

        'qty' => 2,

    );

    $cart->addProduct($product, $params);

    $cart->save();

    Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

    Mage::getSingleton('core/session')->addSuccess('Product added successfully');

    header('Location: ' . 'index.php/checkout/cart/');

} catch (Exception $e) {

    echo $e->getMessage();

}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.