ক্যোয়ারী স্ট্রিং সহ ইউআরএলে পুনর্নির্দেশ করুন


11

আমার মডিউলে, আমার স্ক্রিপ্ট কার্যকর হওয়ার পরে, আমার ইউআরএল-এ কোয়েরি স্ট্রিং সহ একটি পৃষ্ঠাতে পুনর্নির্দেশ করা দরকার।

আমার যা আছে তা এখানে:

$redirectUrl = 'http://magento.local/en_en/shop/index';
$redirectArgs = array('test' => '1');
$this->_redirect($redirectUrl, $redirectArgs);

আমি চেষ্টাও করেছি:

Mage::app()->getFrontController()->getResponse()->setRedirect($redirectUrl, $redirectArgs)->sendResponse();

দুটি পদ্ধতিই একটি ত্রুটি ফেলে: আপনার অনুরোধটি প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে

আমি যা প্রত্যাশা করি তা পুনঃনির্দেশিত করা http://magento.local/en_en/shop/index?test=1

কেউ কি জানেন যে আমি কীভাবে এটি অর্জন করতে পারি?

সম্পাদনা:

প্রস্তাবিত হিসাবে, আমি চেষ্টা করেছি:

$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl);

ত্রুটি নেই, তবে কিছুই হয় না। আমি কোনও নিয়ামকের মধ্যে নেই।

সম্পাদনা 2:

আমি ব্যবহার করে শেষ করেছি:

$redirectUrl = 'http://magento.local/en_en/shop/index?test=1';
Mage::app()->getResponse()->setRedirect($redirectUrl)->sendResponse();

এটি প্রত্যাশার মতো কাজ করে! ধন্যবাদ.

উত্তর:


9

ইউআরএল ঠিক এভাবে তৈরি করবেন না কেন?

 $redirectUrl = 'http://magento.local/en_en/shop/index?test=1';

এর দ্বিতীয় প্যারামিটারটি setRedirectপুনঃনির্দেশ কোডের জন্য (301, 302)।

আপনি যদি ইউআরএলটি ইন্টারনালি তৈরি করতে চান তবে আপনি এটি চেষ্টা করতে পারেন:

$redirectUrl = Mage::getUrl('module/controller/action', array('_query'=>'test=1'));

এবং তারপর? $this->_redirect($redirectUrl);?
মিস্টার ইউপিডাউন

@MrUpsidown। _redirectআপনি যদি একটি নিয়ামক হয়। আপনি অন্য কোথাও থাকলে:Mage::app()->getResponse()->setRedirect($redirectUrl);
মারিয়াস

কিছু মনে করো না. কাজ যোগ ->sendResponse()করে শেষে!
মিস্টারআপডাউন

@MrUpsidown। দুঃখিত। আমি ভুলে গিয়েছিলামsendResponse
মারিয়াস

2

এটি করার আরও ভাল উপায় এটি।

Mage_Core_Controller_Varien_Action :: _ পুনঃনির্দেশ ('urlpost / সূচক / প্রতিক্রিয়া', অ্যারে ('_ সুরক্ষিত' => সত্য, '_ কোয়েরি' => 'স্ট্রিং 1 = 417'));

0

আপনি যদি ক্যোয়ারী প্যারামিটারগুলির সাথে অন্য কোনও URL এ পুনঃনির্দেশ করতে চান তবে আপনি এটি এর মতো করতে পারেন:

$redirectUrl = 'http://magento.local/en_en/shop/index';
$query_parameters = array(
                '_query'=> array(
                    'test' => '1',
                    'test'=>'2'
                )
            );

$this->_redirect($redirectUrl, $query_parameters);

এটি আপনাকে পুনঃনির্দেশ করবে: http: //magento.local/en_en/shop/index? পরীক্ষা = 1 এবং পরীক্ষা = 2


0

আপনি যদি এখানে গুগল থেকে শেষ হয়ে থাকেন, একটি নিয়ামক ব্যবহার করছেন এবং আপনি যে যুক্তিগুলি ব্যবহার করতে পারেন সেগুলি সংরক্ষণ করে অন্যটিতে পুনর্নির্দেশ করতে চান:

$this->_redirect('module/controller/action', $this->getRequest()->getParams());

কোথায় module, controllerএবং actionদ্বারা প্রতিস্থাপিত হতে পারে *এটা মান সংরক্ষণ করা হয়। একই নিয়ামকের আরেকটি ক্রিয়া:

$this->_redirect('*/*/anotherAction', $this->getRequest()->getParams());

একই ক্রিয়াকলাপের নাম, ভাইবোন নিয়ামক:

$this->_redirect('*/sibling/*', $this->getRequest()->getParams());

এবং আরও ...

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