Magento2 বিজ্ঞপ্তি বার্তা


19

ম্যাজেন্টো 2-তে, আমরা কীভাবে ইনপুট ডেটা প্রজ্ঞাপন বার্তাগুলিতে মুদ্রণ করব - ত্রুটি - সাফল্য - সতর্কতা - বিজ্ঞপ্তি

উত্তর:


33

আপনার ক্লাসে, বার্তা ব্যবস্থাপক ইন্টারফেস ক্লাসটি ইনজেক্ট করুন:

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

দ্রষ্টব্য, ম্যাজেন্টো হ্রাস পদ্ধতিগুলি :

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

সুতরাং পরিবর্তে আপনার ব্যবহার করা উচিত:

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

এটি অনপেজ চেকআউট চলাকালীনও কাজ করবে, যেখানে "সবকিছু" জাভাস্ক্রিপ্ট?
পেরেডি

স্পষ্টতই "page.messages" বিভাগটি চেকআউট_ইন্ডেক্স_ইন্ডেক্স.এক্সএমএল ফাইলের মাধ্যমে চেকআউট থেকে সরিয়ে ফেলা হয়েছে, সুতরাং বার্তা সেখানে প্রদর্শিত হবে না। আমি অবাক হয়েছি কেন ম্যাজেন্টো এটি সেভাবে তৈরি করেছিল।
পেডি 11'17

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. সাফল্য -

    $ এটি-> বার্তা ম্যানেজার-> অ্যাডসুসেসি (__ ('এটি আপনার সাফল্যের বার্তা।'));

  2. ত্রুটি -

    $ এটি-> বার্তা ম্যানেজার-> অ্যাডেরার (__ ('এটি আপনার ত্রুটির বার্তা' '));

  3. সতর্কতা -

    $ এটি-> বার্তা ম্যানেজার-> অ্যাড ওয়ার্নিং (__ ('এটি আপনার সতর্কতা বার্তা' '));

  4. বিজ্ঞপ্তি

    $ এটি-> বার্তা ম্যানেজার-> অ্যাডনোটাইস (__ ('এটি আপনার নোটিশ বার্তা।'));

অন্যান্য ক্লাসের ভিতরে

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
আমার বার্তার সাথে একটি সমস্যা আছে, আমি যখন কার্টে যুক্ত করি তখন এটি সাফল্যের বার্তাটি দেখায় তবে যখন আমি অন্য পৃষ্ঠায় অ্যাক্সেস করি তখনও এটি বার্তাটি দেখায়। এটি যখন কমপক্ষে একবারে প্রদর্শিত হয় তখন আমি কীভাবে এটি সরিয়ে ফেলব?
হেনরি বুয়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.