Перейти к основному содержанию

Создание своих токенов

Отправлено said от ср, 02/17/2016 - 17:59

Для создания своего токена создадим файл mymodule.tokens.inc в папке с модулем
Внутри этого файла разместим вызов хуков, которые создадут токен
 

/**
 * Реализация hook_token_info()
 */
function mymodule_token_info() {
  $info['types']['mymodule'] = array(
    'name' => 'мои кастомные токены',
    'description' => 'Кастомные токены для сайта mysite',
  );
  $info['tokens']['mymodule']['root_category'] = array(
    'name' => 'Корневая категория',
    'description' => 'Корневая категория товара',
  );
  return $info;
}


/**
 * Реализация hook_tokens()
 */

function mymodule_tokens($type, $tokens, array $data = array(), array $options = array()) {
  $replacements = array();
 
  if ($type == 'mymodule') {
    foreach ($tokens as $name => $original) {
        // здесь $name - это идентификатор токена, в данном случае root_category
        switch ($name) {
          case 'root_category':
          $replacements[$original] = 'Аксессуар ' . $data['node']->title;
              break;
          }
          break;
      }
    }
  }
 
  return $replacements;
}

 

Теги