web-dev-qa-db-ja.com

ビューでメタタグを定義する方法は?

drupal 7 Views 3.0を使用して)でビューページ表示のメタタグを定義できるモジュールまたは構成はありますか?

8
Luiz Guilherme

メタタグクイック モジュールを使用すると、ビューのパスに基づいてメタタグを指定できます。パスベースのメタタグを有効にすると、ビューページに[メタタグの編集]リンクが表示されます(重要-ビューの編集画面ではありません)。

7
user842

Metatag モジュールには、7.x-1.0-beta2以降のボックスからのビュー統合があります。

Metatags_viewsサブモジュールをインストールすると、ビューのUIにビューのページを表示するためのメタタグオプションが表示されます(Paul Querolのコメント)。

12
milkovsky

前述のように「パスベースのメタタグ」を使用したくない場合は、次の方法で、用語に追加されたデフォルトの metatags_quick フィールドを必要に応じて機能させることができます。これが私がロボットを使ってどのようにそれを行ったかの例と drupal_add_html_head() の助けです:

/**
 * Implements hook_preprocess_HOOK()
 */
function MYMODULE_preprocess_page(&$vars) {
  // if this is a term page and not being edited
  if (arg(1) == 'term' && is_numeric(arg(2)) && is_null(arg(3))) {
    // if this is a Views page
    $view = (array)views_get_page_view();
    if (!empty($view)) {
      // if metatags_quick robots are set
      $term = taxonomy_term_load(arg(2));
      if (isset($term->meta_robots) && !empty($term->meta_robots[LANGUAGE_NONE][0]['metatags_quick']))

      $element = array(
        '#tag' => 'meta',
        '#attributes' => array(
          'name' => $term->meta_robots[LANGUAGE_NONE][0]['meta_name'],
          'content' => $term->meta_robots[LANGUAGE_NONE][0]['metatags_quick']
        ),
      );
      drupal_add_html_head($element, 'MYMODULE');
    }
  }
}
1
leymannx