ম্যাজেন্টো 2-এ নিয়ন্ত্রক পুনর্নির্দেশ করুন


15

আমি গ্রাহক ড্যাশবোর্ডে একটি নতুন কাস্টম ট্যাব যুক্ত করেছি। যদি আমার কাস্টম ফর্মটি সফলভাবে সম্পাদিত হয় তবে আমাকে গ্রাহকের প্রধান পৃষ্ঠায় পুনঃনির্দেশ করা দরকার customer/account। কিভাবে আমি এটি করতে পারব?

উত্তর:



21

নীচে কোড ব্যবহার করুন:

protected $resultRedirect;

public function __construct(\Magento\Framework\Controller\ResultFactory $result){
   $this->resultRedirect = $result;
}

public function execute()
{
    $resultRedirect = $this->resultRedirect->create(ResultFactory::TYPE_REDIRECT);
    $resultRedirect->setUrl($this->_redirect->getRefererUrl());

    return $resultRedirect;         
 }  

আশা করি এটি আপনার এবং অন্যদের জন্য সহায়ক হবে।


1
তুমি আমার বন্ধু এখন আমার godশ্বর, আমি প্রতি রাতে তোমার কাছে প্রার্থনা করি! ধন্যবাদ! আমাকে অনেক সময় সাশ্রয় দিয়েছে।
ওজজিআইই

14
public function execute()
{
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('routename/controllerpath/controllername');
return $resultRedirect;
}

Auto ম্যাজেন্টো ler ফ্রেমওয়ার্ক \ অ্যাপ্লিকেশন \ ক্রিয়া \ এর ক্রিয়াকলাপটি যেমন আপনার কাস্টম নিয়ামককে প্রসারিত করতে হবে সে হিসাবে নির্মাণের ক্ষেত্রে এটির> রেজাল্টরেক্টরেক্টফ্যাক্টরিটিকে ঘোষণা করার দরকার নেই। অন্যথায় আপনি সংকলনের সময় ত্রুটি পেয়ে যাবেন: রেজাল্টডাইরেক্টফ্যাক্টরি ইতিমধ্যে ঘোষণা করা হয়েছে


2

এই কোড ব্যবহার করে দেখুন:

 namespace Company\Module\Controller\Index;
    use Magento\Framework\Controller\ResultFactory; 

    class Actionname name extends \Magento\Framework\App\Action\Action
    {      
        public function execute()
        {
            $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);

            // Your code

            $resultRedirect->setUrl($this->_redirect->getRefererUrl());
            return $resultRedirect;
        }
    }

2
$resultRedirect = $this->resultRedirectFactory->create();
$this->messageManager->addNotice(__("Login Reuqire For Edit Post. So Please <i class='fa fa-lock'></i> Login Now And Edit Your Post."));
$customerBeforeAuthUrl = $this->_url->getUrl('customer/account/login', array('referer' => $objecturl->getEncodedUrl($this->_url->getUrl(''))));
return $resultRedirect->setPath($customerBeforeAuthUrl);

এই কোডটি ব্যবহার করে দেখুন, আমি আশা করি আপনি এটি ব্যবহার করতে পারেন :)


1
ব্যবহারটি $this->_url->getUrl()আমার জন্য অনুপস্থিত বিবরণ ছিল, ধন্যবাদ!
সিজোহানসন

0

পূর্ববর্তী পৃষ্ঠায় পুনঃনির্দেশের জন্য নিয়ামকটিতে এই কোডটি চেষ্টা করুন:

<?php
namespace Vendor\Module\Controller\Index;

class Index extends \Magento\Framework\App\Action\Action {
    protected $_pageFactory;

    /**
     * @var \Magento\Framework\Session\SessionManagerInterface
     */
    protected $_sessionManager;

    public function __construct(
        \Magento\Framework\App\Action\Context $context      

    ) {
        $this->resultFactory = $context->getResultFactory();

        return parent::__construct($context);
    }

    public function execute()
    {


        $resultRedirect = $this->resultRedirectFactory->create();
        $url = $this->_redirect->getRefererUrl();

        $resultRedirect->setUrl($url);
        return $resultRedirect;
    }
}

0

নির্দিষ্ট ইউআরএলে পুনর্নির্দেশ করা আমার জন্য শুভ কাজ করে llow এটি দেখুন

public function execute()
{
    $this->getResponse()->setRedirect($url);
}

এখানে, $ url সম্পূর্ণ url। যেমন http://yoursite.com/customer/account/create/

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