Magento2 अधिसूचना संदेश


19

Magento2 में, हम इनपुट डेटा को सूचना संदेशों के लिए कैसे प्रिंट करते हैं - त्रुटि - सफलता - चेतावनी - सूचना

जवाबों:


33

अपनी कक्षा में, संदेश प्रबंधकइंटरफेस वर्ग इंजेक्षन करें:

__construct(\Magento\Framework\Message\ManagerInterface $messageManager) {
    $this->messageManager = $messageManager;
}

नोट, Magento के पदावनत तरीके हैं :

$this->messageManager->addSuccess()
$this->messageManager->addError()
$this->messageManager->addWarning() 
$this->messageManager->addNotice()

इसलिए इसके बजाय आपको उपयोग करना चाहिए:

$this->messageManager->addSuccessMessage()
$this->messageManager->addErrorMessage()
$this->messageManager->addWarningMessage() 
$this->messageManager->addNoticeMessage()

क्या यह भी onepage चेकआउट के दौरान काम करेगा, जहां "सब कुछ" जावास्क्रिप्ट है?
पेड़ी

जाहिरा तौर पर "page.messages" अनुभाग चेकआउट से checkout_index_index.xml फ़ाइल के माध्यम से हटा दिया जाता है, इसलिए संदेश वहां नहीं दिखाए जाएंगे। मुझे आश्चर्य है कि मैगेंटो ने इसे इस तरह क्यों बनाया।
Peedee

17

यदि आप एक नियंत्रक का उपयोग कर रहे हैं, तो सबसे अधिक शायद आपने बढ़ाया है

\Magento\Framework\App\Action\Action

https://github.com/magento/magento2/blob/develop/lib/internal/Magento/Framework/App/Action/Action.php

यह इंजेक्शन \Magento\Framework\Message\ManagerInterfaceअपने में वस्तु __constructका उपयोग कर समारोह \Magento\Framework\App\Action\Context $contextवस्तु

तो एक संदेश प्रदर्शित करने के लिए,

  1. सफलता -

    $ यह-> messageManager-> addSuccess (__ ('यह आपका सफलता संदेश है।));

  2. त्रुटि -

    $ यह-> messageManager-> addError (__ ('यह आपकी त्रुटि संदेश है'));

  3. चेतावनी -

    $ यह-> messageManager-> addWarning (__ (यह आपका चेतावनी संदेश है।));

  4. नोटिस

    $ यह-> messageManager-> addNotice (__ ('यह आपका नोटिस संदेश है।'));

अन्य वर्गों के अंदर

class Dummy
{

    /**
     * @var \Magento\Framework\Message\ManagerInterface
     */
   private $messageManager;

   public function __construct(\Magento\Framework\Message\ManagerInterface $messageManager)
   {
       $this->messageManager = $messageManager;
   }

  public function someFunction()
  {
    $this->messageManager->addSuccess('Add your success message');
  }

}

जहाँ तक मैंने देखा है, Magento2 ने सत्र वर्ग विशिष्ट अधिसूचना संदेशों को हटा दिया है।


1
मैगेंटो ने इन ऐड <प्रकार> () विधियों को हटा दिया है। मेरा जवाब देखिए।
रॉबर्ट स्टैनली

1
मुझे संदेश के साथ एक समस्या है, जब मैं कार्ट में जोड़ता हूं तो यह सफलता संदेश दिखाता है लेकिन जब मैं किसी अन्य पृष्ठ पर पहुंचता हूं तब भी यह संदेश दिखाई देता है। जब यह कम से कम एक बार दिखाएगा तो मैं इसे कैसे निकाल सकता हूं?
हेनरी बुई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.