Bir simgeyi yeni bir alanın varsayılan değeri olarak ayarlama


8

Drupal 7'de, çoğu alan için varsayılan değerleri ayarlayabilirsiniz. Bir jetonu varsayılan değer olarak ayarlamak mümkün mü?

Bunun Drupal 6'da mümkün olduğunu hatırlıyorum, ancak Drupal 7'de mümkün görünmüyor.

Burada olasılığı tartışan bir konu var , ancak çözülüp çözülmediği açık değil.


Bunun için Token modülünde açık bir özellik isteği var ( drupal.org/node/1070878 )
Refineo

Olası bir çözüm çözümü burada: drupal.org/node/1070878#comment-5103914
Refineo

1
İşte bunun için ilgili bir Drupal 8 çekirdek yaması ( drupal.org/node/1308564 ).
Refineo

Yanıtlar:


1

Hangi bilgileri almaya çalışıyorsunuz ??

İçerik Türümden birinde, düğüm kimliğini almam gerekiyor. Geçerli düğüm kimliği belirteci bu olduğunu buldum:

[current-page:url:args:last]

Test edilmiş ve benim için çalışıyor !!


0

Benim için çalışıyor:

/**
 * 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);
      }
    }
  }
}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.