Alıntı nesnesi yüklenemiyor


24

sales/quoteNesne yüklenirken diğer nesnelerden farklı mı çalışıyor? Aşağıya bakınız ..

Eserleri:

$quote = Mage::getModel('sales/quote')->getCollection()
    ->addFieldToFilter('entity_id', $quoteId)
    ->getFirstItem();
print_r($quote->getData()); // shows right data

Çalışmıyor:

$quote = Mage::getModel('sales/quote')->load($quoteId);
print_r($quote->getData()); // empty

Her ikisi $quotede sınıfın doğruluğu vardır Mage_Sales_Model_Quote.


5 yükseltme ile bu sorunun konu dışı ve tekrarlanamaz olarak nasıl işaretlendiğini anlamıyorum. bu problem tekrarlanabilir. Basitçe, ön sipariş görünümü sayfasındaki ve yönetici sipariş görünümü sayfasındaki bir teklifi yükleyin, farklı şekilde çalışacaktır.webbiedave'ın cevabı bu senaryoda mükemmel çalışır.
Reena Parekh

Yanıtlar:


29

Önce mağazayı ayarlayın:

$store = Mage::getSingleton('core/store')->load(1);

$quote = Mage::getModel('sales/quote')->setStore($store)->load($quoteId);

2

Hayır, Mage_Sales_Model_Quotediğer tüm db tabanlı modeller gibi. Bir şeyi yanlış yaptın. Belki de kod yazabilirsin $quoteId? Doğru olduğundan emin misin? Her iki kod da çalışmalı.


Evet, yerine bir tamsayı kullanmayı denedim $quoteId. Belki $quoteIdbir ip veya başka bir şey olması gerektiğini düşünmeye başladım . Komut dosyam şu anda çalışıyor, bu yüzden yarın kontrol edeceğim.
musicliftsme,

Hmm, dize veya tamsayı olarak sabitlenmiş alıntı varlık kimliği ile başka bir durumda da çalışmaz. Fabian, gönderdiğim kodun bir parçasını denedin mi?
musicliftsme

1
Model diğer db modelleriyle aynı olsa da, Mage_Sales_Model_Resource_Quote kaynak modeli mağaza kimliğine _getLoadSelect () tarafından kodlanmış bir filtre uygular. Etrafındaki yol kullanmaktır Mage::getResourceSingleton('sales/quote')->loadByIdWithoutStore($quote, $order->getQuoteId()). Şimdi, yalnızca tam bir müşteri nesnesini yüklememesini ve bir oturum başlatmasını söyleyebilirsem, mutlu bir kampçıyım.
Melvyn

3
Aynı şeyle karşı karşıya kalanlar için: Teklif eşyalarının yüklenmesiyle ilgili bir oturumu başlatan SalesRule / Model / Observer.php. Sadece müşteri grubuna ulaşmak için. Bunu Sales_Model_Quote'u yeniden yazarak ve Mage :: kayıt defterinde müşteri grubu kimliğini ayarlayarak ve Mage_SalesRule_Model_Observer-> addProductAttributes öğelerini ilk oraya bakmayı öğreterek çözdüm.
Melvyn

2
Sadece bunu gördüm. Yeniden açmak için oy verdim. Sağol Melvyn.
musicliftsme,

0

Kullanabilirsin

$quote = Mage::getModel('sales/quote')->loadByIdWithoutStore($quoteId);

Magnto Enterprise ver. 1.14.2.4

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.