Metode Pengiriman Daftar Belanja tidak tersedia

8

Saya harus mengatur metode pengiriman ke keranjang belanja, dan saya dapat menampilkan semua metode pengiriman yang tersedia, dan saya telah memberikan metode pengiriman yang valid sebagai parameter input untuk metode layanan web SOAP "shoppingCartShippingMethod" jadi untuk ini, Apakah ada kebutuhan untuk ubah konfigurasi di Panel Admin Magento?

<?php
$proxy = new SoapClient('http://127.0.0.1/magento/index.php/api/v2_soap/?wsdl');

$sessionId = $proxy->login('cats', 'sudhir123');
echo "\nSession Id = ";
var_dump($sessionId);

$cartId = $proxy->shoppingCartCreate($sessionId, '3');
echo "\nCart Id = ";
var_dump($cartId);

$customerData = array(
"firstname" => "testFirstname",
"lastname" => "testLastName",
"email" => "[email protected]",
"mode" => "guest",
"website_id" => "0"
  );
$resultCustomerSet = $proxy->shoppingCartCustomerSet($sessionId, $cartId, $customerData);
echo "\nCustomer Set to Shopping Cart = ";
var_dump($resultCustomerSet);

$customeraddress = $proxy->shoppingCartCustomerAddresses($sessionId,     $cartId, array(array(
'mode' => 'billing',
'firstname' => 'Sudhir',
'lastname' => 'Belagali',
'street' => 'street address',
'city' => 'city',
'region' => 'region',
'postcode' => 'postcode',
'country_id' => 'US',
'telephone' => '123456789',
'is_default_billing' => 1
)));   
echo "\nCustomer Address Set to Shopping Cart = ";
var_dump($customeraddress);

$shoppingcartproduct = $proxy->shoppingCartProductAdd($sessionId,    $cartId, array(array(
'product_id' => '917',
'sku' => 'cricketbat',
'qty' => '5',
'options' => null,
'bundle_option' => null,
'bundle_option_qty' => null,
'links' => null
)));   
echo "\nProduct has been added to cart = ";
var_dump($shoppingcartproduct);


$cartInfo = $proxy->shoppingCartInfo($sessionId, $cartId);
echo "\nCart Information for this Cart Id is ( ".$cartId." )";
var_dump($cartInfo);


$result = $proxy->shoppingCartShippingList($sessionId, $cartId);   
echo "\nAvailable Shipping methods = ";
var_dump($result);
?>

masukkan deskripsi gambar di sini

Sudhir Belagali
sumber
Cobalah untuk menambahkan produk ke kereta
mkutyba
Produk dapat ditambahkan ke troli, Tapi saya mencoba sabun untuk memeriksa metode pengiriman yang tersedia, itu memberi saya array Kosong
Sudhir Belagali
Tetapi jika Anda menambahkan sesuatu ke troli, apakah metode yang tersedia atau masih kosong?
mkutyba
Dengan tidak ada apa pun di keranjang Anda, tidak ada metode pengiriman yang akan ditampilkan jika Anda mengakses data melalui kerangka kerja keranjang
Robbie Averill
saya telah menambahkan informasi produk, informasi pelanggan dan informasi alamat pelanggan ke dalam troli, tetapi saya masih tidak dapat mengatur metode pengiriman ke troli
Sudhir Belagali

Jawaban:

1

Cobalah untuk mengatur Sistem> Konfigurasi> Metode Pengiriman> "Tampilkan Metode jika Tidak Berlaku" ke Ya dari default "Tidak" di Panel Admin Magento.

masukkan deskripsi gambar di sini

IgnoranceIsBliss
sumber
Pak, ini memberi kami daftar metode pengiriman yang tersedia dan saya masih tidak dapat mengatur metode pengiriman ke keranjang yang ada saat ini
Sudhir Belagali
Silakan posting itu sebagai pertanyaan terpisah.
IgnoranceIsBliss
1

Ya, bahkan saya pernah menghadapi masalah ini ... Coba lakukan ini, ini berhasil dalam kasus saya:

SOAP REFERENSI - CART.CREATE Dari membuat keranjang, untuk menambahkan produk ke keranjang, untuk pelanggan set ke troli, menambahkan alamat ke troli segala sesuatu, termasuk paramater bernama "store_id" .. Aku tahu itu tidak benar ditampilkan untuk SOAP v2 untuk banyak panggilan SOAP .. Tetapi Anda dapat mengambil referensi dari SOAP v1 dan menambahkan parameter ini seperti ini di bawah ini untuk semua kasus:

Pertama-tama untuk mendapatkan store-id: lakukan hal berikut di atas kode Anda, saya pikir Anda mungkin menggunakan file ini dari lingkungan magento menyimpannya di direktori root magento ..

require_once ("app / Mage.php");

umask (0);

Mage :: app ();

$ url = Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB);

session_start ();

Mage :: getSingleton ("inti / sesi", array ("name" => "frontend"));

$ storeid = Mage :: app () -> getStore () -> getStoreId ();

Sekarang gunakan id toko ini untuk melakukan panggilan berikut seperti ini:

$ result = $ proxy-> shoppingCartCreate ($ sessionId, $ storeid);

$ result = $ proxy-> shoppingCartProductAdd ($ sessionId, $ quote_id, array (array ('product_id' => $ product_id, 'sku' => $ sku, 'qty' => $ qty, 'options' => null, )), $ storeid);

$ resultCustomerSet = $ proxy-> shoppingCartCustomerSet ($ sessionId, $ hasil, $ customerData, $ storeid);

$ result = $ client-> shoppingCartCustomerAddresses ($ session, $ cart_id, $ address, $ storeid);

Sekarang coba lakukan panggilan ini:

$ result = $ client-> shoppingCartShippingList ($ session, $ cart_id, $ storeid);

Saya yakin itu akan mengembalikan Anda alamat pengiriman.

Juga, pastikan Anda memberikan negara yang sama di alamat Anda yang membuat metode pengiriman Anda diaktifkan.

Helly
sumber
0

Coba ini

// get list of shipping methods

$resultShippingMethods = $proxy->shoppingCartShippingList($sessionId, array($shoppingCartId))

// set shipping method

$randShippingMethodIndex = rand(0, count($resultShippingMethods)-1 );
$shippingMethod = $resultShippingMethods[$randShippingMethodIndex]["code"];

$resultShippingMethod = $proxy->shoppingCartShippingMethod($sessionId,  array($shoppingCartId), $shippingMethod);
Diego Borba
sumber
S Pak Saya mencoba ini, Tetapi tidak berhasil untuk saya
Sudhir Belagali
Jika Anda melakukan checkout secara normal, metode pengiriman ditampilkan?
Diego Borba
Ini menunjukkan saya di situs web saja ,, Tapi tidak menunjukkan saya melalui panggilan SOAP
Sudhir Belagali