我正在创建一个包含图像,视频,音频和文档(书籍)的视图,我喜欢在旋转木马上显示每张图片。
只要我们在CCK中添加了图像缩略图(图像文件字段),所有内容都可以很好地处理图像和视频,但我们希望在不更改原始CCK的情况下显示音频和文档的默认图像。是否可以使用imagecache(可能是imagecache_custom_code或views_custom_php),或者我们需要寻找不同的方法?
感谢您的帮助, 米。
答案 0 :(得分:0)
你可以从两个地方做到这一点。
首先,您可以进入CCK内容类型设置的显示字段部分,并在预告片和节点视图中更改其默认显示。您将获得所有当前图像缓存预设作为显示的尺寸选项。
其次,您还可以将输出更改为视图的一部分。将图像添加为要显示的字段将为您提供相同的预设选项集。
答案 1 :(得分:0)
我要说一些与Kevin非常相似的内容,但我认为这是您正在寻找的解决方案。要理解这个问题:
我认为你仍然应该使用cck字段。
我可能会误解你的问题。
答案 2 :(得分:0)
感谢您的帮助。
我认为你仍然应该使用cck字段。 你对这个场景进行了很好的描述,但这正是我试图避免的。 :-)
我不想对书籍使用cck字段,我不想用hook_form_alter隐藏它。
我想我终于找到了一个解决方案,不需要在我的“非图像”内容类型(音频和文本)中添加额外的CCK字段。
有一个名为“视图自定义字段”的模块(drupal.org/project/views_customfield),它允许您在视图中添加PHP处理字段,因此您可以按内容类型进行过滤并应用imagecache或imageapi代码
$node=node_load($data->nid);
$img_path=drupal_get_path("module", "gt_medias") . "/images";
switch ($node->type) {
case "gt_video":
$img_path = $node->field_gt_thumbnail[0][filepath];
break;
case "book":
$img_path .= "/bookDefault.jpg";
break;
case "gt_audio":
$img_path .="/audioDefault.png";
break;
case "pingv_image":
$img_path = $node->field_pingv_image[0][filepath];
break;
}
$imgcache_url = imagecache_create_url('gt_medias_video_346', $img_path);
$output .= '<img src="'. $imgcache_url .'" ' />';
return ($output);
“gt_medias_video_346”是我的图片缓存预设的名称。
再次感谢你们的帮助,
米。