किसी नए फ़ील्ड के डिफ़ॉल्ट मान के रूप में एक टोकन सेट करें


8

Drupal 7 में, आप अधिकांश क्षेत्रों के लिए डिफ़ॉल्ट मान सेट कर सकते हैं। क्या डिफ़ॉल्ट मान के रूप में टोकन सेट करना संभव है।

मुझे याद है कि यह Drupal 6 में संभव है, लेकिन Drupal 7 में यह संभव नहीं लगता।

यहां एक धागा है जो संभावना पर चर्चा करता है, लेकिन इसका हल नहीं होने पर यह स्पष्ट नहीं है।


मॉड्यूल टोकन में इसके लिए एक खुली सुविधा का अनुरोध है ( drupal.org/node/1070878 )
Refineo

एक संभावित समाधान समाधान यहां है: drupal.org/node/1070878#comment-5103914
Refineo

1
इसके लिए संबंधित Drupal 8 कोर पैच ( drupal.org/node/1308564 ) है।
Refineo

जवाबों:


1

आप क्या जानकारी पाने की कोशिश करते हैं ??

मेरे एक कंटेंट टाइप में, मुझे नोड आईडी को पुनः प्राप्त करना होगा। मैंने पाया कि वर्तमान नोड आईडी के लिए टोकन यह है:

[current-page:url:args:last]

परीक्षण किया और मेरे लिए काम कर रहा है !!


0

यह मेरे लिए काम कर रहा है:

/**
 * Implements hook_field_widget_form_alter().
 */
function MODULE_hook_field_widget_form_alter(&$element, &$form_state, $context) {
  // Prevent replace tokens on field admin ui form.
  if (!is_null($element['#entity'])) {
    // Determine the $user. If entity has uid, try to load. If can't, use the
    // global $user.
    if (isset($element['#entity']->uid)) {
      if (!$user = user_load($element['#entity']->uid)) {
        global $user;
      }
    }

    // Build data for token replacement.
    $data = array(
      $element['#entity_type'] => $element['#entity'],
      'user' => $user,
    );
    // Eg. the body field, the default value is stored in
    // $element['#default_value']
    if (isset($element['#default_value']) && !is_array($element['#default_value'])) {
      $element['#default_value'] = token_replace($element['#default_value'], $data);
    }
    // Eg. the link field, the default value is stored in
    // $element['#default_value']['url']
    else if (is_array($element['#default_value'])) {
      foreach ($element['#default_value'] as $key => $value) {
        if (is_string($value)) {
          $element['#default_value'][$key] = token_replace($value, $data);
        }
      }
    }
    // Eg. the text field, the default value is stored in
    // $element['value']['#default_value']
    else if (isset($element['value'])) {
      if (isset($element['value']['#default_value']) && !is_array($element['value']['#default_value'])) {
        $element['value']['#default_value'] = token_replace($element['value']['#default_value'], $data);
      }
    }
  }
}

-1

फ़ील्ड डिफ़ॉल्ट टोकन मॉड्यूल स्थापित करें ।

यह मॉड्यूल फ़ील्ड को डिफ़ॉल्ट मान के रूप में टोकन का उपयोग करने में सक्षम बनाता है। मुख्य चर्चा: # 1070878: एक क्षेत्र के डिफ़ॉल्ट मूल्य में टोकन का उपयोग करने की अनुमति दें


मॉड्यूल को अच्छा समर्थन नहीं दिखाई देता है, और कई खुले मुद्दे हैं।
mbomb007
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.