Использую модули imagecache и imagefield. Долго с ними боролся, и в результате удалось все настроить: теперь пользователь вставляет картинку в свою заметку, та уменьшается/обрезается как надо, и в ноде показывается в полный размер, а в тизере — превью.
НО такая вот беда: если в ноде картинка не вставлена, то на месте превью все равно появляется пустая ссылка img src="http://сайт.ru/files/imagecache/imagepre" alt="" title=""
Разные браузеры показывают это дело по-разному. Мозилла не показывает, ИЕ квадратик с крестиком, Сафари квадратик с вопросом. В общем непорядок.
Может к-нб подсказать, как с этим бороться? (Либо ссылку не выводить, либо подставлять какую-нб картинку по умолчанию.)
Комментарии
надо темизировать это поле, см. описание в папке theme модуля CCK
Смотря как вы выводите картинки:
Если Средствами ССК www.site.ru/admin/content/types/тип_данных/display то должно само все таботать
Если сами выводите, в файле node.tpl.php, то поставьте условие или выводитев цикле
<?php
<?php
print 'nid).'" title='.$node->title.' border="0">';
print theme('imagecache', 'product_image_smallest', $item['filepath'], $node->title, $node->title);
print '';
?>
<?php } ?>
?>
Я уже сам не понимаю, как я это сделал.
Значит так: в типе материала добавил поле "фото", в котором настроил правила обработки картинок для тизера и боди.
Вот сайт — http://nocm.ru — если как-то это упростит.
---------
Темизировать поле смотреть здесь /sites/all/modules/cck/theme/README.txt ?
аналогичная беда у меня на сайте.
делается при помоще imagecash и imagefield.
в итоге получается поле для добавления картинки, которое добавляешь в любой тип материала. если через это поле не вставить картинку (те не использовать его и оставить пустым), получается пустая ссылка.
таже беда, только когда я вывожу список последних нод (title + картинка) в блоке, в нодах где нет картинки пустая ссылка!
помогите подробнее разобраться
Решение :
В imagecache.module надо посавить проверку на наличие картинки:if($path){...
function theme_imagecache($namespace, $path, $alt = '', $title = '', $attributes = NULL) {
if($path){
$attributes = drupal_attributes($attributes);
return '';
}else{
return false;
}
}
?>
вы автору не предлагали это дополнение для внесения в будущие версии imagecache?