Модуль Metatag не позволяет с помощью токенов добавить в canonical номер текущей страницы. Создадим собственный токен [current-page:url:with-current-pager]
:
/**
* Implements hook_token_info().
*/
function modulename_token_info() {
return array(
'tokens' => array(
'url' => array(
'with-current-pager' => array(
'name' => t('URL with current page number'),
'description' => t('URL with current page number'),
),
),
),
);
}
/**
* Implements hook_tokens().
*/
function modulename_tokens($type, $tokens, array $data = array(), array $options = array()) {
$replacements = array();
if ($type == 'url') {
/** @see token_tokens() */
$url_options = array('absolute' => TRUE);
if (isset($options['language'])) {
$url_options['language'] = $options['language'];
}
if (isset($data['options'])) {
$url_options = $data['options'] + $url_options;
}
foreach ($tokens as $name => $original) {
if ($name == 'with-current-pager' && !empty($data['path'])) {
if ($page = pager_find_page()) {
$url_options['query']['page'] = $page;
}
$replacements[$original] = url($data['path'], $url_options);
}
}
}
return $replacements;
}
Результат:
Написанное актуально для
Drupal 7
Добавить комментарий