নোড যুক্ত / সম্পাদনার পরে ব্যবহারকারীকে পুনঃনির্দেশ করুন


13

আমি নোড তৈরি বা সম্পাদনা করার পরে ব্যবহারকারীদের একটি কাস্টম পৃষ্ঠায় পুনর্নির্দেশ করতে চাই।

উত্তর:


6

আপনি hook_form_alterএকটি কাস্টম জমা হ্যান্ডলার যুক্ত করতে ব্যবহার করতে পারেন যেখানে আপনি পুনর্নির্দেশের পথটি সেট করতে পারেন।

ফর্ম পুনঃনির্দেশ সম্পর্কে আরও তথ্যের জন্য এফএপিআই দেখুন ।


1
আপনার উত্তরের জন্য ধন্যবাদ ! আমি এফএপিআই সম্পর্কে পড়েছি তবে এগিয়ে যাওয়ার এখনও একটি প্রশ্ন রয়েছে: হুক_ফর্ম_ল্টার ফাংশনটি আমার কোথায় রাখা উচিত?
ওসিনিও

2
@ousneo ড্রুপাল 7 এ আপনি এটি আপনার থিমে বা আপনার তৈরি কাস্টম মডিউলে রাখতে পারেন।
googletorp

1
দয়া করে @Dmitry Vyal উত্তর দেখার
Capi Etheriel

1
এখানে একটি মডিউল যা সংরক্ষণের পরে পুনর্নির্দেশ করে। drupal.org/project/node_save_redirect
polyclick

1
গৃহীত হওয়ার পরে, এই উত্তরটি কার্যকর হওয়ার পক্ষে খুব সংক্ষিপ্ত। আপনি কীভাবে আপনার কাস্টম জমা হ্যান্ডলারটি যুক্ত করেন এটি সত্যিই গুরুত্বপূর্ণ এবং এই উত্তরটি এতে নীরব। সেরা উত্তর আইএমএইচও হ'ল @leymannx থেকে (তবে সম্পাদনা ব্যবহারের ক্ষেত্রে মন্তব্য দ্বারা দেখুন)।
ফ্রি র‌্যাডিকাল

4

আপনি একটি বিধি তৈরি করতে পারেন যা কোনও নির্দিষ্ট সামগ্রীর প্রকার তৈরি বা সম্পাদনা করার সময় ব্যবহারকারীকে যে কোনও পৃষ্ঠায় পুনঃনির্দেশ করে। আপনি যখন একটি নিয়ম যুক্ত করেন তখন "নতুন সামগ্রী তৈরি করার পরে" নির্বাচন করুন "সামগ্রীটির ধরণ রয়েছে" এর একটি শর্তও যুক্ত করুন। আপনি কি বিভাগ আপনাকে ব্যবহারকারীদের যে কোনও পৃষ্ঠাতে পুনর্নির্দেশের বিকল্প দেবে।

কোনও নোড সম্পাদনার পরে পুনঃনির্দেশের জন্য, কেবলমাত্র একটি নতুন নিয়ম তৈরি করুন এবং আপনার বিদ্যমান বিকল্প হিসাবে "বিদ্যমান সামগ্রী আপডেট করার পরে" নির্বাচন করুন।


আমি নির্দিষ্ট সামগ্রী তৈরি করার পরে পুনর্নির্দেশের জন্য বিধিগুলি ব্যবহার করেছি তবে ব্যবহারকারী এখন কোনও প্রতিক্রিয়া পান না। আমি ব্যবহারকারীকে দেখাতে চাই যে "আপনার সামগ্রী তৈরি হয়েছে"। আমি কীভাবে এটি উন্নতি করতে পারি?
ওয়ালেস 740

1
"সাইটে একটি কনফিগারযোগ্য বার্তা দেখান" তে পুনর্নির্দেশ কর্মের পরে অন্য ক্রিয়া যুক্ত করুন এবং সেখান থেকে আপনার কাস্টম বার্তা যুক্ত করুন।

আমি অন্য একটি বিধি যুক্ত করেছি তবে আমি মনে করি আমার কাস্টম থিমটিতে আমি কিছু মিস করছি কারণ বার্তাটি আমার প্রথম পৃষ্ঠায় প্রদর্শিত হয়নি। আমি পপআপে এই জাতীয় বার্তাগুলি দেখানোর জন্য একটি মডিউল 'আরও ভাল বার্তা' ব্যবহার করছি! নিয়ম কনফিগার করুন
ওয়াললেস 740

আমার অভিজ্ঞতা হ'ল ওভারলে নিয়মগুলি পুনর্নির্দেশের বিরতি দেয়, সাবধান হন।
ক্যাপী ইথেরিয়েল

আমার ক্ষেত্রে এই নোড অ্যাড ফর্মটি একটি প্যানেল অন্তর্নিহিত ছিল। hook_for_alter এটি ধরেনি। তবে নিয়ম দুর্দান্ত কাজ করেছে!
দ্রুভিশন

2

এটি করার সময়, কোনও বিদ্যমান নোড সম্পাদনা করার জন্য সম্পাদনা বোতামটি ক্লিক করার পরে সাধারণত কোনও সম্ভাব্য বিদ্যমান গন্তব্যটি আনসেট করা নিশ্চিত করুন which

প্রতিস্থাপন articleমধ্যে MYMODULE_form_article_node_form_alterআপনার বিষয়বস্তুর প্রকার এর মেশিন নামের সঙ্গে।

/**
 * Implements hook_form_BASE_FORM_ID_alter().
 */
function MYMODULE_form_article_node_form_alter(&$form, &$form_state, $form_id) {

  $form['actions']['submit']['#submit'][] = '_MYMODULE_node_form_redirect';
}

/**
 * Submit callback.
 */
function _MYMODULE_node_form_redirect($form, &$form_state) {

  // Unset destination first.
  unset($_GET['destination']);
  unset($_REQUEST['edit']['destination']);

  $form_state['redirect'] = 'FOO/BAR';
}

এটি কোনও নোড যুক্ত করার পরে পুনঃনির্দেশগুলির জন্য কাজ করে তবে এটি সম্পাদনার পরে নয়। আমি বুঝি যে কল সম্পাদন করা ব্যবহারের ক্ষেত্রে হ্যান্ডেল অনুমিত হয়, কিন্তু তারা আমার Drupal এর 7 সাইটে কোন প্রভাব আছে। unsetdestination
ফ্রি র‌্যাডিকাল

@ ফ্রি র্যাডিকাল - আপনি ঠিক বলেছেন। পরিবর্তে আমি hook_for_BASE_FORM_ID_alter ব্যবহারের উত্তর আপডেট করেছি , যা লক্ষ্য এবং সংযোজন - উভয়কে লক্ষ্য করে।
লেম্যানমান্স


1

ডকুমেন্টেশন এটা খুব স্পষ্ট নয়, কিন্তু আপনি পরিবর্তন করা উচিত নয় $_GET['destination']পরিবর্তনশীল না $_REQUESTবা $form_state['redirect']


1
$ ফর্ম_স্টেটটি ['পুনর্নির্দেশ'] পরিবর্তন করা দ্রুপাল in ... এ দুর্দান্ত কাজ করে ...
ফেলিক্স ইভ

1

ড্রুপাল in-তে আপনি নিজের জমা ফাংশনটি 'সংযুক্ত' করতে নোড সম্পাদনা ফর্মটি পরিবর্তন করতে পারেন, যাতে আপনি 'গন্তব্য' প্যারামিটার অন্তর্ভুক্ত করার জন্য নোডের ফর্ম_স্টেটকে নিশ্চিতকরণ ফর্মটি পরিবর্তন করতে পারেন ... এটি কেবলমাত্র একটি কাস্টম থিমে করেছে 'সাত' অ্যাডমিন থিমের একটি সাব-থিম হিসাবে বিকাশ করছে ...

হুক_ফর্ম_এফএআরএম_আইডি_এলটারের জন্য ডকুমেন্টেশন

আপনি এই হুকটি কেবলমাত্র মডিউলগুলিতে নয়, কোনও টেম্পলেট / থিমের সাথে যুক্ত করতে পারেন।

সুতরাং আপনার থিমের ক্ষেত্রে template.php, এই ফর্মটি পরিবর্তিত হুক যুক্ত করুন:

function yourtheme_node_delete_form_submit( &$form, &$form_state ) {
    $form_state[ 'redirect' ][ 1 ][ 'query' ][ 'destination' ] = "admin/content";
}

এবং তারপর, voila। কোনও নোড মোছার পরে আর হোমপেজে পুনঃনির্দেশ করা হয়নি।


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