【问题标题】:Drupal - Disable listing of nodes on taxonomy term page?Drupal - 禁用分类术语页面上的节点列表?
【发布时间】:2011-06-27 20:35:20
【问题描述】:

是否可以禁用分类术语页面上节点的正常分类列表?

我需要这个的原因是我想使用视图覆盖分类页面但默认视图覆盖会阻止面包屑模块​​正常工作。所以,我想制作一个术语视图,但作为一个块并使用 PHP 在某些页面上显示它。

谢谢

【问题讨论】:

  • 这可能不是最干净的方法,但我做了一个 page-taxonomy.tpl.php 并删除了这个: 到目前为止,这个解决方案似乎适用于我的网站,但我仍然想知道正确的方法。

标签: drupal drupal-theming drupal-taxonomy


【解决方案1】:

另一种方法是使用Display SuiteTaxonomy Display 模块。安装它们,然后转到 admin/structure/taxonomy/[mytaxonomy]/display

在“为以下视图模式使用自定义显示设置”下选择“分类术语页面”。

然后,在“Taxonomy term page”查看模式下,在Term page display下,选择“Associated content display”:HIDDEN。

完成! :)

【讨论】:

  • 不兼容drupal 9...
【解决方案2】:

该模块声称可以满足您的需求,但尽管检查了正确的分类以禁用它,但它似乎并没有工作:

http://drupal.org/project/disable_term_node_listings

但是将以下内容放在主题的 template.php 中会抑制这些节点列表:

function MY_THEME_preprocess_page(&$variables) {
  if(arg(0) == "taxonomy" && arg(1) == "term") {
    $variables['page']['content']['system_main']['nodes'] = null;
  }
}

这是一种肮脏的方式,您必须使用 CSS 隐藏寻呼机,但它确实有效。

【讨论】:

  • 你还需要清除unset($variables['page']['content']['system_main']['no_content']); AND unset($variables['page']['content']['system_main']['pager']);
  • drupal.org/project/disable_term_node_listings 启用分类翻译模块时模块不起作用
  • $variables['page']['content']['system_main']['#access'] = FALSE; 会更干净和更好的做法。
【解决方案3】:

这可能不是最干净的方法,但我已经制作了一个 page-taxonomy.tpl.php 并删除了这个:<?php print $content; ?> 到目前为止,这个解决方案似乎适用于我的网站,但我仍然想知道正确的方法。

【讨论】:

    【解决方案4】:

    如果您只想用视图覆盖分类术语页面,但不使用默认视图,您可以创建一个自定义模块来实现hook_menu(),或者您也可以查看Taxonomy Redirect module

    从分类重定向页面:

    此模块允许管理员更改分类术语链接的目的地。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      相关资源
      最近更新 更多