/** * Implements hook_tokens(). */ function custom_meta_token_tokens($type, $tokens, $data = [], $options = [], &$bubbleable_metadata = NULL) { $replacements = []; if ($type == 'node' && !empty($data['node'])) { $node = $data['node']; foreach ($tokens as $name => $original) { if ($name == 'conditional_meta') { // 如果 body 有值,直接使用 if (!empty($node->get('body')->value)) { $replacements[$name] = $node->get('body')->value; } else { $actress = implode(', ', array_map(fn($a) => $a->label(), $node->get('field_actress')->referencedEntities() ?? [])); $studio = $node->get('field_studio')->value ?? ''; $pdate_value = $node->get('field_pdate')->value ?? ''; $date = ''; if ($pdate_value) { $date = \Drupal::service('date.formatter')->format(strtotime($pdate_value), 'custom', 'Y'); } $tags = implode(', ', array_map(fn($t) => $t->label(), $node->get('field_av_tags')->referencedEntities() ?? [])); $replacements[$name] = "本片是由{$actress}主演,{$studio}於{$date}年發行,影片內容包含{$tags}..."; } } } } return $replacements; } 雪白皮膚 | GG硬硬

雪白皮膚