দ্রুপাল_গোটো (অনুরোধ_উরি ()) আমার '?', '=' এবং 'এবং' ইউআরএল প্রতিস্থাপন করে


11

আমি একই পৃষ্ঠাতে উদাহরণস্বরূপ //node/add/dispo?arg1=1&arg2=2 সহ একটি পৃষ্ঠা থেকে ব্যবহারকারীকে পুনর্নির্দেশ করতে হবে। তবে যখন আমি কেবল একটি করি drupal_goto(request_uri());, এটি আমার ব্যবহারকারীকে উদাহরণস্বরূপ: // নোড / অ্যাড / ডিস্কো% 25 এফএফ 33 সি ইত্যাদিতে পুনঃনির্দেশ করে ....

আমি একটি str_replace চেষ্টা করেছি কিন্তু এটি কার্যকর হয়নি it

আপনার কি কোনও কাজ আছে?

উত্তর:


32

drupal_goto()একটি গ্রহণ $optionsপ্যারামিটার কাছে হস্তান্তর করা url()ফাংশন। আপনি এই জাতীয় একটি কোয়েরি স্ট্রিং পাস করতে পারেন:

$options = array('query' => array('foo' => 'bar'));
drupal_goto('path', $options);

সেই উদাহরণটি / পথ? Foo = বারে এগিয়ে যাবে


আমি অনুমান করি এটি হেডারের চেয়ে পরিষ্কার (অবস্থান?
গ্রেগরি কাপুস্টিন

2
এটি সত্যিই নির্ভর করে, আপনি যদি কোডটি drupal_goto()দেখেন তবে তা প্রদত্ত পরামিতিগুলির উপর ভিত্তি করে একটি ইউআরএল তৈরি করা যা এটি header()নিজেই কল করে। মূল পার্থক্যগুলি drupal_exit()হ'ল বলা হয়, স্ক্রিপ্টটিতে একটি পরিষ্কার প্রস্থান প্রদান করা হয় এবং যদি $_GET['destination']সেট করা থাকে তবে এটি আপনাকে ফাংশনে যাওয়ার পথটিকে ওভাররাইড করবে। সাধারণত drupal_goto()ব্যবহার করা উচিত, তবে এমন অনুষ্ঠানগুলি হয় যখন ভাল পুরানো header()আরও উপযুক্ত হয়। আপনার যা করা দরকার তা কেবল নির্ভর করে
ক্লাইভ

ঠিক আছে ধন্যবাদ. আমি এইটির জন্য শিরোলেখ ব্যবহার করব তবে তবুও আমার ধারণা, দ্রুপাল_গোটো ক্লিনার clean
গ্রেগরি কাপুস্টিন

লক্ষ্য করুন যে বিকল্পগুলির অ্যারেতে নাম এবং মান জোড়া যুক্ত করে একটি অ্যারে ক্যোয়ারী রয়েছে। সুতরাং গন্তব্য ভেরিয়েবলের সাহায্যে লগ ইন করার জন্য আমার কোডটি দেখতে এইরকম দেখাচ্ছে: $ বিকল্পগুলি = অ্যারে ('ক্যোয়ারী' => অ্যারে ('গন্তব্য' => 'অভ্যন্তরীণ / ড্যাশবোর্ড') দ্রুপাল_গোটো ('ব্যবহারকারী', $ বিকল্পসমূহ));
reptilex

আশ্চর্যজনক নতুন কিছু শিখেছে
isষব

13

এটি ক্লাইভের উত্তর হিসাবে একই। এটি সঠিক আইএমও তবে আমি কেবল উত্তরটি যুক্ত করতে চেয়েছিলাম যা আপনার ব্যবহারের ক্ষেত্রে 1: 1 অনুসারে আসে।

$options = array('query' => drupal_get_query_parameters());
drupal_goto(current_path(), $options);

আপনি drupal_goto()বর্তমানের মতো একই স্থানে কল করতে চেয়েছিলেন ।

mysite.com/node/add/dispo?arg1=1&arg2=2

কারেন্ট_পথ () নোড / অ্যাড / ডিসপো প্রদান করে; drupal_get_query_paraters () অভ্যন্তরীণ পাথ নোড / অ্যাড / ডিসপো $_GETব্যতীত সমস্ত প্যারামিটার $_GET['q']দেয়।

আপনি যখন কল করবেন তখন drupal_goto()দ্রুপাল একই ইউআরআই পুনরায় বিল্ড করতে পারে ব্যবহারকারীকে পাঠাতে।


দুর্দান্ত, ক্লাইভের পছন্দ হিসাবে আমি আপনার জবাবটি ছাপিয়েছি pped আপনি সবাই।
গ্রেগরি কাপুস্টিন

0

আপনি ব্যবহার করতে পারেন drupal_goto($GLOBALS['base_root'] . request_uri());

নোট করুন যে এটি drupal_goto(request_uri());পাসের প্যারামিটারটি যেখানে urlncoded হয়েছে ঠিক তেমন নয় যেমন এটি কোনও অভ্যন্তরীণ ড্রুপাল পাথ, যা আসলে আপনার সমস্যার উত্স।


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