CCK image module и thumbnales

Главные вкладки

Аватар пользователя misja misja 16 марта 2007 в 19:34

организовал ввод материала через ССК. там есть 4 поля ввода картинок. как сделать так, чтобы картинки отображались иконками например 200х200, а полную их версию можно было постомреть щелкнув на них. такая опция есть в модуле node image, но он не подойдет мне, насколько я понимаю, потом что его не прикрутить к ССК.

Комментарии

Аватар пользователя Natalie Natalie 16 марта 2007 в 21:51

Вот пример из contemplates (работает и в обычном шаблоне). Отображается превьюшка, которая ведет на оригинальное изображение. Ссылки и названия полей, разумеется, меняем на свои. Ну еще надо бы разобраться с дивами и т.д., но это уже дизайнерские заморочки.

<div class="field field-type-image field-field-pic-main">
  <h3 class="field-label"></h3>
  <div class="field-items">
    <?php foreach ((array)$field_pic_main as $item) { ?>
      <div class="field-item"><?php print "<a href='/".$field_pic_main[0]['filepath']."'><img src='/files/imagecache/preview/".$field_pic_main[0]['filepath']."'></a></div>"; ?></div>
    <?php } ?>
  </div>
</div>

Все с помощью image field и imagecache, preview - название preset'a imagecache.
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
Переводы некоторых модулей.
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя Natalie Natalie 17 марта 2007 в 5:46

Забыла уточнить, что imagecache генерит эти самые превьюшки по заданным правилам. Указанный код нужно поместить либо в шаблон для этого типа материала в contemplate, либо создать файл node-example.tpl.php (example - английское название типа материала).
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
Переводы некоторых модулей.
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя KBH KBH 17 марта 2007 в 7:10

Да, чего-то не понял. Поставил imagecache. Включил. Захожу в настройки: "Наборы правил Imagecache". Добавляю Preset и все... ничего более не появляется. Добавил уже штук 20 Preset'ов. Может еще что-то упустил (зависимости от других модулей). Вставил Ваш код в contemplate, изменив соответственно поля. Код работает, но вставляет full size image. Полез в директорию drupal/files/imagecache/preview/files/images. Картинка есть и она точная копия исходной.

Аватар пользователя Natalie Natalie 17 марта 2007 в 7:21

После создания набора правил (preset), нужно добавить действия (scale, resize или crop), иначе imagecache ничего не будет делать.
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
Переводы некоторых модулей.
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя Natalie Natalie 17 марта 2007 в 7:51

А причем здесь image? Мой пример - это ССК imagefield + imagecache
Подходит для вывода картинок по шаблону
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
Переводы некоторых модулей.
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя KBH KBH 17 марта 2007 в 8:47

Не знаю причем, но, как писал вышел, после добавления preset ничего не происходило (т.е. снова строка с просьбой создать новый preset и ничего более). После установки image и добавления нового preset, появились те самые настройки (resize, crop, scale), о которых Вы говорили.
Хотя в зависимостях imagecache не сказано ничего о image. У Вас установлен модуль image?
А Ваш пример работает безупречно Smile

Аватар пользователя Natalie Natalie 17 марта 2007 в 8:52

Не, image не стоит, только imagefield.
Ну работает, и то хорошо Smile
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
Переводы некоторых модулей.
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя misja misja 17 марта 2007 в 11:27

не работает =(((
как одлжно это все происходить?
превьюшка генерится во время загрузки изображения? тогда как прилинковать название пресета imagecashe к полю image в CCK?
а если не во время загрузки, то во время первого показа превьюшки на странице. в общем я вставил код, который вы написали выше, в свою тему в content templates. переменные поменял на свои. вот что получилось

<div class="field field-type-image field-field-news-image">
<div class="field-items">
<?php foreach ((array)$field_news_image as $item) { ?>
<div class="field-item"><?php print "<a href='/".$field_news_image[0]['filepath']."'><img src='/files/imagecache/news_thumbnail/".$field_news_image[0]['filepath']."'></a></div>"; ?></div>
<?php } ?>
</div>
</div>

короче изображение не создается, не показывается, и путь к нему странный получается. должен быть вот такой, насколько я понимаю:
http://192.168.0.24/www.example.com/files/imagecache/preview/image.jpg
а получается вот такой:
http://192.168.0.24/files/imagecache/preview/files/image.jpg
большая картинка при этом на месте просто в папке files... ниче не понимаю

Аватар пользователя Natalie Natalie 18 марта 2007 в 18:22

Давайте с начала.
Включите imagefield и сделаете новое поле image в вашем типе контента.
Включите imagecache, сделайте новый preset. Он будет генерить обработанные копии изображений по адресу files/imagecache/название_пресета/image.jpeg. Оригинальная картинка будет оставаться в files. Копия появится только когда в первый раз загрузится страница с изображением, а не во время загрузки оригинально изображений. Когда вы что-то меняете в наборе правил, не забывайте сделать flush (сброс) старых изображений.
Проверьте, работает ли средство обработки изображений. (image toolkit)
Дальше пробуйте код, не забыв изменить название поля, пресета и путь.
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
Переводы некоторых модулей.
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя Гость Гость (не проверено) 18 мая 2007 в 1:52

а у меня вот такая ошибка

* warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in www\drupal\includes\image.inc on line 238.
* warning: imagecopyresampled(): supplied argument is not a valid Image resource in \www\drupal\includes\image.inc on line 246.
* warning: imagejpeg(): supplied argument is not a valid Image resource in \www\drupal\includes\image.inc on line 321.
* warning: imagedestroy(): supplied argument is not a valid Image resource in \www\drupal\includes\image.inc on line 249.

Аватар пользователя xcalibur xcalibur 27 февраля 2008 в 6:24

а у меня вот такая ошибка

* warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in www\drupal\includes\image.inc on line 238.

я только что установил - тестирую - то же самое вылезло :/