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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.