ড্রুপাল 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;
}
টোকেনগুলির প্রতিস্থাপনটি এত সুনির্দিষ্ট যে আমি মনে করি না যে আপনি এটির একটি মডিউল পাবেন। আপনার একমাত্র সম্ভাবনা হ'ল আপনার লেখা একটি কাস্টম মডিউল।