Drupal 8, ноды и Pathauto.

Главные вкладки

Аватар пользователя Dmytro Design Dmytro Design 30 апреля 2016 в 18:59

Здравствуйте.
На сайте под Drupal 8 создан тип материала ПОРТФОЛИО.
Материал с именем СОБАКА данного типа относится к категории СКУЛЬПТУРА.

URL-синоним на категорию СКУЛЬПТУРА прописан как portfolio/sculpture
Установлен Pathauto, Token, CTools.
Пытаюсь в Pathauto создать шаблон синонимов URL, чтобы ссылка получилась типа portfolio/sculpture/sobaka, используя [node:field_category]/[node:title], но в результате получаю sculptura/sobaka.

Нашел схожую тему, но решение там для Drupal 7. Нужно установить модули Entity и Entity tokens и прописать [node:field_category:url:path]/[node:title], но для Drupal 8 нет модуля Entity tokens.

Комментарии

Аватар пользователя g78knl6cvxf0 g78knl6cvxf0 1 мая 2016 в 16:56

Движуху с токенами обещают в начале мая (т.е. через пару месяцев что-то будет). Пока никто не запрещает создавать свои. Вот специально для тебя (скачать):

<?php

/** File /modules/custom/my_tokens/my_tokens.tokens.inc */

use Drupal\Core\Render\BubbleableMetadata;

/**
 * Implements hook_token_info().
 */
function my_tokens_token_info() {

  

$tokens['field-category-path-url'] = [
    
'name' => t("URL CATEGORY"),
    
'description' => t("This is MY TOKENS, sychki"),
    
'needs-data' => 'node',
  ];

  return [
    

'tokens' => ['node' => $tokens],
  ];
}

/**
 * Implements hook_tokens().
 */
function my_tokens_tokens($type$tokens, array $data, array $optionsBubbleableMetadata $bubbleable_metadata) {

  

$replacements = [];

  if (

$type == 'node' && !empty($data['node'])) {
    foreach (
$tokens as $name => $original) {
      switch (
$name) {
        case 
'field-category-path-url':
          
$replacements[$original] = $data['node']->field_category->entity->url();
          break;
      }
    }
  }

  return 

$replacements;
}
?>

custom token

Аватар пользователя AnNik AnNik 17 ноября 2017 в 6:43

Подниму тему, тоже актуально. Прошло полтора года, не появилось готового решения? В списке стандартных токенов ничего похожего на [node:field_category:url:path] так и не могу найти...