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 消息?