首页 / 帖子
输出一个带图片的产品列表有什么好的办法?


问题描述:


如上图所示,可以表示为一个企业的四个核心优势的介绍,也可以作为热门产品列表。正在学习套html模板,遇到这个问题,首先想到第一个办法是建四个page 页面,把图插进去,然后输出,因为如果是介绍企业核心优势的话,应该不会经常变动。第二个办法是新建一个产品类型product,添加了一个图片字段field_product_image,然后输出。


我现在的办法是用第二个,新建产品类型,用的也是笨办法,各种print_r看node下的字段,

1:例如输出这个上面的产品图片,例如上图最左边这个产品的node是17,我的代码是

<?php 
$content = node_view(node_load(17), 'full'); 
print render($content['field_product_image']);
 ?>

但是这样的话,输出来图片多了一个标题字段image:,如下图,然后通过覆写field.tpl.php解决了。

2:输出产品标题,我是这样写的

<?php
$content = node_view(node_load(17), 'full');
$object=(array)$content['body']['#object'];
echo $object['title'];
?>

3:输出内容简介,我是这样写的,先找到文章内容,然后用substr截取。

<?php
$content = node_view(node_load(17), 'full');
$object=(array)$content['body']['#object'];
$str = $object['body'][und][0]['value'];
$sumary = substr($str ,0,120); 
echo $sumary."...";
?>


问drupal群,大家都说不管什么办法,不择手段,只要达到目的就行,但是有点不甘心,应该会有更好的办法吧。



我的问题是:


我的实现办法太死板,太幼稚。你们遇到这种情况,一般是怎么实现的,有什么好的办法?

想到用views会不会方便点,还没有试验,还有对于输出的样式等等会不会不好控制什么的?

,请各位大神给些建议。



ps :最初接触drupal,提过一个问题 “请教各位关于Drupal整个学习的一个过程?”,各位给了很好的建议和解答,后来学习了一段时间后,因为各种问题放弃学习drupal,哈哈,真是让人又爱又恨,最近打算静下心来好好学习drupal,发现每一次接触drupal,都会有新的不同的认识,drupal真的很强大,值得拥有。


说太多废话了,先谢谢各位帮忙解答。



4个答案
Amanda Song
发布于:2014-10-10 22:53

用views,必须用views。

新建一个内容类型,通过views筛选条件过滤,最后限制四条即可。

两种方法,1,用views,选择显示的field,field可以添加label等等。2,还是views,选择一个显示mode,这个mode在内容类型里面定义,可以控制是否显示标签,每个字段的顺序等等。注意这是一个自定义的mode。drupal默认有teaser,全文等几个mode,你也可以自己加。

陈蹊
发布于:2014-10-13 10:53

实现这个,用views基本没有任何压力,也比较简单。正如楼上所讲的。

赵高欣
发布于:2014-10-14 11:05

嗯,必须views

发布于:2014-10-15 10:51

第一步用views,得到一个views->result的对象。

第二步用drupal人工桥(取代views的输出),去foreach这个对象,想要什么样的div随便你。多方便。