php 在Drupal 8中创建自定义标记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 在Drupal 8中创建自定义标记相关的知识,希望对你有一定的参考价值。

<?php 
/**
 * @file
 * contains custom token declaration script.
 */
/**
 * Implements hook_token_info().
 */
function custom_token_info(){
  $types['custom_type'] = array(
    'name' => t("My Custom Type"),
    'description' => t("Custom token type defined for sitewide used."),
  );
    // Site-wide global token.
  $mytoken['custom_name'] = array(
    'name' => t("Custom Token Name"),
    'description' => t("Defined the custom token name."),
  );
  return array(
    'types' => $types,
    'tokens' => array(
      'custom_type' => $mytoken,
    ),
  );
}

/**
 * Implements hook_tokens().
 */
function custom_tokens($type, $tokens, array $data, array $options, \Drupal\Core\Render\BubbleableMetadata $bubbleable_metadata) {
  $token_service = \Drupal::token();

  $url_options = array('absolute' => TRUE);
  if (isset($options['langcode'])) {
    $url_options['language'] = \Drupal::languageManager()->getLanguage($options['langcode']);
    $langcode = $options['langcode'];
  }
  else {
    $langcode = NULL;
  }
  $replacements = array();

  if ($type == 'custom_type') {
    foreach ($tokens as $name => $original) {
      switch ($name) {
        case 'custom_name':
          $config = \Drupal::config('system.site');
          $bubbleable_metadata->addCacheableDependency($config);
          $custom_name = $config->get('name');
          $replacements[$original] = $custom_name; // for testing purpose set value as site name
          break;
      }
    }
  }
  return $replacements;
}

以上是关于php 在Drupal 8中创建自定义标记的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mapbox iOS SDK 3.0 版中创建自定义图像标记?

在 Drupal 中查看“登录后登录页面”

在 cPanel 中创建自定义 PHP 错误页面,而不将它们从引发错误的页面重定向

如何在 ios 8 和 ios 7 中创建自定义弹出视图?

如何在 ionic 2 中创建自定义加载页面

如何在 JSF 2.0 中创建自定义 404 消息?