टोकन के साथ पैरामीटर पास करें


10

क्या टोकन के साथ पैरामीटर भेजना संभव है?

मेरे पास एक मॉड्यूल है जो mod1_info और mod1_tokens को परिभाषित करता है। यदि मैं% टोकन दर्ज करता हूं: mod1: किसी पृष्ठ पर परीक्षण किया जाता है, तो इसे बदल दिया जाता है <a href='test.html'></a>

मुझे वास्तव में% टोकन में प्रवेश करना है: mod1: परीक्षण [चर] और प्राप्त करें <a href='test.html'>variable</a>

क्या यह संभव है?

परदे के पीछे, test.html इसलिए यह वास्तव में के समान दिखता है कुछ डायनामिक पैरामीटर युक्त बनाया जा रहा है test.html? Param1 = foo और param2 = बार । मुझे किसी साइट पर टोकन डालने के लिए साइट को संपादित करने वाले किसी व्यक्ति के लिए एक तरीका है, और लिंक (एक छवि, कुछ पाठ, या दोनों) के रूप में निर्दिष्ट करने में सक्षम होना चाहिए।


1
दुर्भाग्य से, मुझे विश्वास नहीं है कि यह संभव है। दूसरी ओर, मैं उपयोग के मामले को काफी नहीं समझता, क्योंकि मुझे खुद कभी भी इसकी आवश्यकता नहीं है। शायद अगर आप जो चाहते हैं उस पर विस्तार करते हैं, तो एक अलग सुझाव दिया जा सकता है।
सुभारती

जवाबों:


8

Drupal 7 का उपयोग करके, मॉड्यूल आसानी से [नोड: लेखक: नाम] के समान टोकन को संभाल सकता है, जहां नोड के बाद टोकन का हिस्सा: लेखक एक उपयोगकर्ता टोकन का उल्लेख कर रहा है। Drupal 6 के लिए टोकन मॉड्यूल से अलग, जो कोड Drupal 7 में टोकन को संभालता है, वह गतिशील टोकन के निर्माण की अनुमति देता है। ऐसा इसलिए है क्योंकि Drupal 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;
}

टोकन के लिए प्रतिस्थापन इतना विशिष्ट है कि मुझे नहीं लगता कि आपको ऐसा कोई मॉड्यूल मिलेगा जो ऐसा करता है। आपकी एकमात्र संभावना एक कस्टम मॉड्यूल है जिसे आप लिखते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.