2010-06-07 54 views
2

我使用图像,视频,音频和文档(书籍)创建视图,并且我喜欢在旋转木马上显示每个视图的图片。非图像CCK的Imagecache?

尽管我们向CCK添加了图像缩略图(图像文件夹),但是我们希望在不更改原始CCK的情况下显示音频和文档的默认图像,但一切都与图像和视频很好地协作。是否有可能与imagecache(可能与imagecache_custom_code或views_custom_php)或我们需要寻找一种不同的方法?

感谢您的帮助, 米。

回答

0

感谢您的帮助。

我认为你应该仍然使用cck字段。 你对这个场景有了很好的了解,但这正是我想要避免的。 :-)

我不想为书籍使用cck字段,我不想用hook_form_alter隐藏它。

我想我终于找到了一个解决方案,不需要为我的“非图像”内容类型(音频和文本)添加额外的CCK字段。

有一个名为“视图自定义字段”(drupal)的模块。组织/项目/ 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”的名称是我的imagecache预设。

再一次感谢你们的帮助,

m。

0

你可以从两个地方做到这一点。

首先,您可以进入CCK内容类型设置的显示字段部分,并在预览和节点视图中更改其默认显示。您将获得所有当前的imagecache预设作为显示大小选项。

其次,您还可以将输出更改为视图的一部分。将图像添加为要显示的字段将为您提供相同的一组预设选项。

+0

感谢您的时间,但这不是我要求的。 这两个解决方案都需要对我的书籍和音频内容类型进行更改,才能在图像中添加特定的cck字段(图像文件字段),这正是我试图避免的。 还有其他想法? – 2010-06-09 13:03:53

+0

这是你在问什么?进入你的视图,然后点击显示缩略图的字段。在其选项中,有一个选择列表,允许您选择图像缓存预设以显示该视图中的缩略图。 – Kevin 2010-06-09 14:05:51

0

我打算说一些非常类似于凯文的东西,但我认为这是您寻找的解决方案。要理解这个问题:

  • 你有3种内容类型,二者有你单独
  • 设置了第三缩略图你想有一个默认的图像显示,但没有将其设置

我认为你应该仍然使用一个cck字段。

虽然我可能会误解您的问题。

+0

感谢您的帮助。 >我认为你应该仍然使用一个cck字段。 你对这个场景有了很好的了解,但这正是我想要避免的。 :-) 我不想为书籍使用cck字段,我不想用hook_form_alter将其隐藏。 我终于找到了一个解决方案,不需要为我的“非图像”内容类型(音频和文本)添加额外的CCK字段。 “视图自定义字段”(http://drupal.org/project/views_customfield)允许您将PHP处理的字段添加到视图中。 因此,您可以按内容类型进行过滤并应用imagecache或imageapi代码。 – 2010-06-11 13:51:35