টোকেন সহ পরামিতিগুলি পাস করুন


10

টোকেনের পাশাপাশি পরামিতিগুলি পাঠানো কি সম্ভব?

আমার কাছে একটি মডিউল আছে যা Mod1_info এবং Mod1_tokens সংজ্ঞায়িত করে। যদি আমি একটি পৃষ্ঠায়% টোকেন: মোড 1: পরীক্ষা প্রবেশ করি তবে এটি দিয়ে প্রতিস্থাপন করা হবে <a href='test.html'></a>

আমি আসলে যা চাই তা হল% টোকেন: mod1: পরীক্ষা [পরিবর্তনশীল] প্রবেশ করানো <a href='test.html'>variable</a>

এটা কি সম্ভব?

পর্দার আড়ালে, পরীক্ষা। Html কয়েকটি গতিশীল পরামিতি দিয়ে তৈরি করা হচ্ছে যাতে এটি দেখতে আসলে বাস্তবে html? Param1 = foo & param2 = বারের মতো দেখা যায় । আমার যেটি দরকার তা হ'ল কোনও ব্যক্তি যে কোনও পৃষ্ঠায় টোকন প্রবেশ করানোর জন্য সাইটটি সম্পাদনা করছেন এবং লিঙ্ক হিসাবে কী প্রদর্শিত হবে তা নির্দিষ্ট করতে সক্ষম হবেন (একটি চিত্র, কিছু পাঠ্য বা উভয়)।


1
দুর্ভাগ্যক্রমে, আমি বিশ্বাস করি না এটি সম্ভব। অন্যদিকে, আমি ব্যবহারের কেসটি বেশ বুঝতে পারি না, কারণ আমার নিজের কখনও এর প্রয়োজন হয়নি। সম্ভবত আপনি যা চান তার প্রসারিত হলে একটি আলাদা পরামর্শ দেওয়া যেতে পারে।
লেটারিয়ান

উত্তর:


8

ড্রুপাল Using ব্যবহার করে মডিউলগুলি সহজেই [নোড: লেখক: নাম] এর মতো টোকেনগুলি পরিচালনা করতে পারে, যেখানে নোডের পরে টোকেনের অংশটি কোনও ব্যবহারকারী টোকেনকে উল্লেখ করছে। দ্রুপাল 6 এর টোকেন মডিউল থেকে আলাদাভাবে, ড্রুপাল 7-এ টোকেনগুলি পরিচালনা করে এমন কোডটি গতিশীল টোকেন তৈরির অনুমতি দেয়। এটি কারণ ড্রুপাল 7-এ, টোকেন প্রয়োগকারী মডিউলগুলি কোনও টোকেন প্রতিস্থাপন করতে পারে, কেবলমাত্র তারা টোকেনগুলি সংজ্ঞায়িত করে। হুক_ টোকেন্সে ব্যবহৃত লুপটি () নিম্নলিখিতটি।

foreach ($tokens as $name => $original) {
  // Check the value of $name, and generate the replacement that is assigned to
  // $replacements[$original].
}

নিম্নলিখিত কোড ব্যবহার করে, আপনি যা অর্জন করতে চাইছেন তা পেতে পারেন। টোকেনগুলির একটি নির্দিষ্ট বিন্যাস রয়েছে, যা আপনি বর্ণনা করছেন তার থেকে আলাদা। কোডটি পরীক্ষা করা হয়নি।

function mymodule_token_info() {
  $type = array(
    'name' => t('Anchors'), 
    'description' => t('Your description'), 
  );

  return array(
    'types' => array('anchor' => $type), 
  );
}

function mymodule_tokens($type, $tokens, array $data = array(), array $options = array()) {
  $replacements = array();
  $sanitize = !empty($options['sanitize']);

  if ($type == 'anchor') {
    foreach ($tokens as $name => $original) {
      list($file, $title) = explode(':', $name);
      if (!empty($title) && !empty($_GET[$title])) {
        $title = $_GET[$title];
      }
      else {
        $title = '';
      }

      $replacements[$original] = "<a href='$file.html'>$title</a>";
    }
  }

  return $replacements;
}

টোকেনগুলির প্রতিস্থাপনটি এত সুনির্দিষ্ট যে আমি মনে করি না যে আপনি এটির একটি মডিউল পাবেন। আপনার একমাত্র সম্ভাবনা হ'ল আপনার লেখা একটি কাস্টম মডিউল।

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