Отключить канонический тег в Drupal 7 - PullRequest
2 голосов
/ 21 февраля 2011

Я пытаюсь удалить канонический тег из головы drupal 7. Я вывел элементы head в файл template.php, используя:

function mytemplatename_html_head_alter(&$head_elements) {
  print_r($head_elements);
}

, который дал мне следующее для канонического тега:

  [drupal_add_html_head_link:canonical:</node/1>;] => Array
        (
            [#tag] => link
            [#attributes] => Array
                (
                    [rel] => canonical
                    [href] => /node/1
                )

            [#attached] => Array
                (
                    [drupal_add_http_header] => Array
                        (
                            [0] => Array
                                (
                                    [0] => Link
                                    [1] => </node/1>; rel="canonical"
                                    [2] => 1
                                )

                        )

                )

            [#type] => html_tag
        )

Я предполагал, что могу просто использовать хук html_head_alter, чтобы сбросить его, но следующее не сработает:

function grocore_html_head_alter(&$head_elements) {
  unset($head_elements['drupal_add_html_head_link:canonical']);
}

Есть идеи?

Спасибо

1 Ответ

4 голосов
/ 22 февраля 2011
unset($head_elements['drupal_add_html_head_link:canonical:</node/1>;']);

или для каждого пути

foreach (preg_grep('/^drupal_add_html_head_link:canonical:</', array_keys($head_elements)) as $key) {
  unset($head_elements[$key]);
}
...