首页 / 帖子
请教做文章列表的首页的实现方法(Views?Panels?or Display Suite?)

请教一下,我想做如下图片的首页,是各类别的文章列表。
请问用Views,Panels和Display Suite3个Module里面哪个Module最易实现,性能也不错?
并麻烦简单介绍一下,如何实现,谢谢!

4个答案
刘伯彪
发布于:2015-11-13 11:15

1、自己写page--front.tpl.php模板,定义多个region,然后把相应的区块放里面。我的网站首页都是这样做的,配合Bootstrap3主题,简单快捷
2、panels也能实现

YOYO
发布于:2015-11-13 12:49

我的是用Views实现的。www.kkkys.com 你可以看下~

陈蹊
发布于:2015-11-19 16:25

首先,感觉作者对三个模块具体用处不是很清楚。虽然它们都与网站显示有着千丝万缕的关系。不过在此我阐述下各个模块之间的区别。

Drupal涉及到内容显示的概念由: region,block,view mode,field formatter,form element。

我们在处理显示内容方面,会经常用到以下模块:views,ds,panels,context.

views:严格来说是一个sql数据查询配置器。至于在显示方面的处理,内嵌了fields,Rendered entity两种,这两种都是解决将搜索出来的数据库(Row)显示的问题。当然还有很多模块,扩展了这方面的内容。比如以json方式显示。fields和Rendered entity方式的大致区别:fields方式比较灵活。而另外一种则是调用了view mode这个概念,比较有利于内容显示的规范化,并且声称了一个比较好的东西:一个带齿轮的快捷菜单。
ds: 是对drupal的view mode 和field formatter 的强化工具。它主要是处理entity如何显示的问题。当然它也有自己的layout系统,但是都是基于entity上的。
panels: 是一个自带功能强大的显示工具。完全将drupal的region和block概念放到一边,用自己的一套系统处理显示的问题。
context:是对drupal的region和block的强化工具。

至于field formatter,form element 这两个drupal概念,field formatter 由比较好的模块进行扩展,但是我比较喜欢自己开发field formatter。 form element 貌似只能用代码创建。

上述概念都是drupal系统提供的,换句话来说就是drupal way。
如果你是熟悉php但是不熟悉drupal或者不想用上述概念,完全以php的代码方式输出(此方法最为灵活):
只要用hook_menu定义一个网站入口,接下来就会产生如下类似的代码:

$edate = $node->field_date[LANGUAGE_NONE][count($node->field_date[LANGUAGE_NONE]) - 1]['value'];
// last occurrence event end_date time needs tobe displayed as end time
$etime = $node->field_date[LANGUAGE_NONE][count($node->field_date[LANGUAGE_NONE]) - 1]['value2'];
$edate = explode(" ", $edate);
//for non-recursive events get 'To' date as end date
if ($node->field_date[LANGUAGE_NONE][0]['rrule'] == NULL) {
  $new_end_date = format_date(strtotime($etime), 'custom', 'D, M j, Y');
}
else {
  $new_end_date = format_date(strtotime($edate[0]), 'custom', 'D, M j, Y');
}

$etime = explode(" ", $etime);
$new_end_time = format_date(strtotime($etime[1]), 'custom', 'H:i');

$markup = explode(' . ', $node->content['field_date'][0]['#markup']);


我个人比较喜欢: ds+views+context组合。 而panels不利于开发。在某些方面比较繁琐且不好控制。




赵高欣
发布于:2015-11-21 11:21

我做了一个tvtools的工具。基本实现了只在后台,就可以实现你这样的布局,超级实用。不足的地方,就是使用过程有些复杂。以后有机会,在drupal8里做成模块试下。
可以看演示。 http://www.tvdrupal.com/tvtools_bootstrap.html