ম্যাজেন্টো 2-তে পৃষ্ঠা ফ্যাক্টরি শ্রেণির ব্যবহার


19

কনস্ট্রাক্টরের \Magento\Framework\View\Result\PageFactoryইনজেকশনের ফলাফল কারখানার শ্রেণিটি ব্যবহার করে Magento2 এ কাস্টম মডিউল পৃষ্ঠাটি রেন্ডারিংয়ের উদ্দেশ্য কী?

$resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE);

পরিবর্তে নীচের ধরণের প্রদর্শনটি করা যা ম্যাজেন্টো 1.x পদ্ধতির মতো

$this->_view->loadLayout();

$this->_view->renderLayout();

উত্তর:


16

আসলে একটি উদাহরণ ফেরত দেওয়া প্রয়োজন হয় না \Magento\Framework\View\Result\Pageexecuteএকটি বর্গ যে ইন্টারফেস প্রয়োগ এর একটি দৃষ্টান্ত আসতে বলে আশা করা হচ্ছে \Magento\Framework\Controller\ResultInterface

\Magento\Framework\View\Result\Pageশুধুমাত্র একটি সম্ভাব্য প্রত্যাবর্তন।
অন্যান্য সম্ভাব্য রিটার্ন হয়

  • \Magento\Framework\Controller\Result\Redirect
  • \Magento\Framework\Controller\Result\Raw
  • \Magento\Framework\View\Result\Layout
  • \Magento\Framework\Controller\Result\Forward
  • \Magento\Framework\Controller\Result\Json

এবং অন্যদের হতে পারে।
পদ্ধতিটি দেখুন Magento\Framework\App\Action\Action::dispatch()
এটির একটি উদাহরণ ফেরত দেওয়া উচিত \Magento\Framework\Controller\ResultInterfaceএবং ফলাফলের ভিত্তিতে আবার পদক্ষেপে ঘোষিত পদ্ধতিগুলি কল করে বিভিন্ন পদক্ষেপ নেওয়া হয় ResultInterface
এই dispatchপদ্ধতি কল $result = $this->execute();যা executeনিয়ামক কর্ম থেকে পদ্ধতি। সুতরাং আমি অনুমান করি এটি ধারাবাহিকতার জন্য এবং একটি নিয়ামক ক্রিয়াকলাপের জন্য একটি পৃথক আচরণ প্রবর্তন করা আরও সহজ করার জন্য। আপনাকে কেবল নতুন ক্লাস যুক্ত করতে ResultInterfaceহবে যা প্রয়োগ করে এবং এটি সমস্ত কাঠামোর দ্বারা পরিচালিত হবে।


3

আমি বিশ্বাস করি যে ধারণাটি ছিল নিয়ন্ত্রকদের কাছ থেকে প্রাপ্ত তথ্য / মডেলগুলি, তবে বর্তমান বাস্তবায়ন আমার কাছেও অদ্ভুত লাগে।

ব্যক্তিগতভাবে আমি প্রত্যাশা করি যে কন্ট্রোলাররা কোনও কিছু ফেরত দেয় না, সম্ভবত অন্য ইউআরএলে পুনর্নির্দেশ করতে পারে। পৃষ্ঠার বিন্যাসে এই পৃষ্ঠাটির সাথে সংযুক্ত রুট যোগ করা দরকার।

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-login">
     <route url="login"/>
    <body>
    </body>
</page>

জেএসওএন বাকি এপিআই থেকে পাওয়া যাবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.