मैं एक स्क्रिप्ट विकसित कर रहा हूं (Magento के बाहर, मॉड्यूल नहीं) जिसका उद्देश्य सभी उपलब्ध उत्पादों, उनकी कीमतों और कुछ अन्य विशेषताओं की एक टेक्स्ट सूची आउटपुट करना है । हालांकि, सूची मूल्य नियम उत्पाद की कीमतों पर लागू नहीं लगते हैं। यदि मैं निम्न में से किसी एक का उपयोग करता हूं:Magento: कैटलॉग नियमों के साथ किसी उत्पाद की कीमत कैसे प्राप्त करें
$_product->getPrice()
$_product->getFinalPrice()
मुझे सामान्य मूल्य मिलता है (नियम लागू किए बिना)।
अगर मैं का उपयोग करें:
$_product->getSpecialPrice()
मैं अशक्त मिलता है जब तक कि उत्पाद वास्तव में एक विशेष मूल्य स्वयं उत्पाद में डाला है (अर्थात, अगर विशेष मूल्य सूची के नियमों के साथ संबंधित नहीं है)।
मैं भी
Mage::getModel('catalogrule/rule')->calcProductPriceRule($product,$product->getPrice())
के रूप में फेबियन Blechschmidt द्वारा दिए गए जवाब में सुझाव दिया कोशिश की, लेकिन दिलचस्प बात यह सामान्य मूल्य केवल तभी उत्पाद किसी भी सूची नियम से प्रभावित होता है, अशक्त अन्यथा लौटने देता है।
कुछ समय पहले StackOverflow और Magento Forums में एक समान प्रश्न था, लेकिन प्रदान किया गया उत्तर (जो कोड को सम्मिलित करना है) मेरे लिए काम नहीं करता है (कीमतें वही रहती हैं)।
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND,Mage_Core_Model_App_Area::PART_EVENTS);
क्या किसी को यह समझने का विचार है कि इसे कैसे प्राप्त किया जाए?
मैं Magento 1.6.2.0 का उपयोग कर रहा हूं। अग्रिम धन्यवाद।
शायद आपके डेटा या अनुक्रमण को शामिल करने पर कुछ और चल रहा है। क्या डिस्काउंट मूल्य प्रदर्शित होता है जैसा कि आप सभी कस्टम मॉड्यूल के साथ डिफ़ॉल्ट थीम में अपेक्षा करते हैं? – benmarks
हां, रियायती कीमतें सामने की ओर ठीक दिखती हैं। समस्या यह थी कि यह एक Magento मॉड्यूल नहीं था, लेकिन एक "बाहरी" स्क्रिप्ट। ऐसा लगता है कि Magento अतिरिक्त सामान लोड करता है जो सब कुछ ठीक से काम करने के लिए आवश्यक है। दूसरे शब्दों में, Magento में सब कुछ वास्तव में एक मॉड्यूल होना चाहिए ... – faken
* "Magento में सब कुछ वास्तव में एक मॉड्यूल होना चाहिए" * - वास्तव में नहीं। हालांकि कई मॉड्यूल हैं जो ऐप निष्पादित होने पर कई तरीकों से बातचीत करते हैं। मैं जांचूंगा कि 'Mage_CatalogRule_Model_Observer' तत्काल है। शायद आपको रिमोट स्क्रिप्ट के प्रासंगिक हिस्सों को पेस्ट करना चाहिए ('mage :: ऐप()' तात्कालिकता, 'loadAreaPart()' कॉल, उत्पाद भार, आदि) – benmarks