Спасибо вам за вашу помощь.
Я думаю, вы все равно должны использовать поле 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.
Еще раз, спасибо вам обоим за вашу помощь,
м.
Спасибо за ваше время, но это не то, о чем я прошу. Оба решения требуют изменения в моих книжных и аудиоконтентных типах, чтобы добавить определенное поле cck (файловое поле изображения) с изображением, и это именно то, чего я пытаюсь избежать. Любые идеи? –
Это то, что вы просите, хотя? Перейдите в свой вид и нажмите на поле, которое показывает миниатюру. В его вариантах есть список выбора, который позволит вам выбрать предустановку imagecache, чтобы отображать миниатюру, как в этом представлении. – Kevin