我是drupal的新手。
如何创建像这样的超链接的年份列表:
2012 2011 2009年 2008
在任何一年内发布的博客帖子,然后将它们链接到一个页面,以显示该年内博客帖子的预告列表
我安装了视图模块并使用了年度的上下文过滤器。我想使用PHP代码从templates.php文件中的视图中获取结果集,并将结果传递给我的模板。
然后我需要为diplaying特定模板.eg构建一些url别名。 site_url / blog / 2012应显示我的模板。
请注意:我已经将site_url / blog的模板作为博客着陆页模板
请告诉我这是否可行以及如何做到这一点?
答案 0 :(得分:1)
默认情况下,Taxonomy模块会为与术语关联的所有节点创建预告片列表。因此,如果您创建Blog Year词汇表并使用术语引用字段将其附加到博客节点类型,Taxonomy将自动为具有“2012”术语的所有节点创建分页显示,并为具有“2011”的所有节点创建分页显示您可以使用pathauto模块为这些设置自定义路径结构,无论如何都应该使用该模块。
然后您需要做的就是创建一个链接到每个术语的块。 Taxonomy Block模块将执行此操作。或者您可以创建一个视图以在块中输出这些分类链接。
如果您要使用视图,则根本不需要使用分类法。每个节点至少存储两个日期字段,包括创建日期和更新日期。您可以在Views中轻松访问它。创建预告片显示视图并添加Content: Created Year
上下文过滤器。不幸的是,我现在还不知道在Drupal 7 Views中显示年份的好方法,所以我可能会为那个位写一个模块。
答案 1 :(得分:1)
您可以使用提供日历模块的DATE模块以及您可以随意执行的视图。
答案 2 :(得分:1)
您可以使用Views完成所有操作,不需要分类。我不确定是否仅在之前的答案之后才引入此功能。
查看Drupal的“归档”视图,该视图提供了视图,但已禁用。启用并彻底检查它。您应该能够根据该示例对其进行排序。< / p>
这就是我所做的:
您需要两个显示所有帖子的视图。 PAGE视图和BLOCK视图。确保它们在同一页面上并排显示。
在PAGE视图中,在CONTENT:CREATED YEAR上创建一个上下文过滤器。这本身足以过滤您在网址
中指定的一年的帖子在BLOCK视图中,在CONTENT:CREATED YEAR上创建一个上下文过滤器。然后,您可以选择:
When the filter value is NOT available:
• Display all results for the specified field
• Provide default value
• Hide view
X Display a summary
答案 3 :(得分:0)
您可以使用Drupal内置的分类模块。转到分类页面,转到admin->structure->taxonomy
。
在那里,您可以创建一个名为Year的新词汇表,您可以根据需要输入多年或几年。
然后在您的博客帖子内容类型中创建一个名为year的新字段,并通过选择术语引用作为类型并按照其中的说明将其链接到词汇表。
如果你想要,你可以建立一个自动为词汇增加新年的模块,但这是一个完全不同的问题。
然后,只显示该年份的帖子,您可以构建视图。安装视图模块并转到structure->views
并添加新视图以显示Blog Post类型的内容。然后,您可以在高级选项卡中设置上下文过滤器,以显示标有年份的过滤器。然后,您可以公开过滤器,以便用户可以更改年份,您应该设置。
注意:视图需要是一个页面而不是一个块才能使其工作。