如何在视图上定义元标签?[关闭]


Answers:


7

Meta标签快速模块允许您根据您的意见路径指定Meta标签。如果启用基于路径的元标记,您将在视图页面上看到“编辑元标记”链接(重要-不在视图编辑屏幕中!)。


很好,我使用的是1.9版本。此基于url标记页面的功能仅适用于2.0 beta版。谢谢。
Luiz Guilherme

对我来说,它是页面本身(前端)上名为“基于路径的元标记”的选项卡。还必须确保render($tabs)已打印page.tpl.php
leymannx

12

自7.x-1.0-beta2起,Metatag模块具有框内的视图集成功能。

安装metatags_views子模块,您将在视图UI中获得任何视图页面显示的metatag选项(Paul Querol在下面的评论)。


2
惊讶的是,这个答案没有得到更多的爱...如果您正在使用metatags模块,则只需安装metatags_views子模块,即可在视图UI中获得任何视图页面显示的metatag选项。
Paul Querol 2015年

同意。但是上面的答案是在2011年。当时没有metatags_views子模块。您可以根据需要将有关metatags_views子模块的文本添加到我的答案中。
milkovsky

1

如果您不想使用前面提到的“基于路径的元标记 ”,则可以使用以下方法使添加到该术语本身的默认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

最直接的解决方案是将视图添加为节点内的块,然后使用诸如Metatag的模块将metatag放置在节点上。

避免视图集成问题。还提供了面包屑,菜单,pathauto等优点,当页面是节点而不是视图时,所有这些都易于设置。


我认为在许多情况下这是不可行的,例如在一个站点上在视图上有一些上下文参数,并且元数据需要针对不同的视图参数而有所不同的情况下,请降低投票率。
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.