Ну помучался, потыкал, поискал и решил задачу. Чтобы другие также не мучались (бл*, а ведь будут!), вот простой рецепт, совершенно пригодный для чайников - скопировал, вставил и пошел пить пиво, которое пить вредно).
Чтобы отобразить картинку, загруженную в поле imagefield твоей ноды, поместив его слева или справа от текста тизера:
0. Требуемые модули аре: имажфильден, эсеска, имажекаке, лигтбокс (при желании)
1.Открываем node.tpl.php в папке темы (шаблона) твоего сайта и в нем меняем код:
(удаляем этот кусок)
на этот:
<?php if ($teaser == 1) {
print '<div class="node_teaser">';
if (isset($node->field_5444[0])) {
print '<a href="/'.$node->имятвоего_imagefield[0]['filepath'].'" rel="lightbox[имятвоего_imagefield]" class="node_image" title="'.$node->имятвоего_imagefield[0]['data']['title'].'">';
print theme('imagecache', 'имятвоегопресетаImagecache', $node ->имятвоего_imagefield[0]['filepath']);
print '</a>';
}
print '</div>';
}
print $content;
?>
</div>
(вставляем этот кусок заместо удаленного)
[Это решение взято отсюда http://drupal.org/node/101748#comment-1995960 и модифицировано мной]
2.Открываем файл CSS темы твоего сайта (style.css) и вносим туда (в любо место) этот код
float: left;
margin-top: 4px;
}
а можно и такой код воткнуть
float:left;
margin:4px;
}
без разницы.
Ну и все!
Что мы получим?
-Получим первую картинку из загруженных в поле imagefield данной ноды, размещенную слева или справа от текста тизера
-Получим возможность увеличить картинку через лайтбокс
-Получим отвращение показа остальных картинок из imagefield данной ноды - лайтбокс покажет одну (первую) картинку без листания
-Все это работает при отключенном Display для поля imagefield в тизере (если вы включите показ в тизере - будет дубль)
-можно задать отдельное поле специально для тизера "Мой тизёр" (а также "Мой тизер слева" справа снизу и т.д.) - дисплей по дефолту всегда отключен - туда вообще не лезем - и при добавлении нод просто знаем, где добавлять картинку в тизер... Для меня же главное было н е лезть в редактор каждый раз, позиционировать картинку справа и т.д.)
Если мы не хотим открывать картинку в тизере через лайтбокс, то просто удаляем rel="lightbox[имятвоего_imagefield]"
из пункта 1 вышеприведенной инструхции. Можно обойтись и без пресета imagecache - тогда надо... ну все хватит - работает и достаточно!
Пример как работает можно увидеть на гл. моего стр. сайта (ссылка на моем профиле)
p.s. убил три часа на поиск недостающего слеша вэтой строчке a href="/'.$node->имятвоеголяляля - из-за его отсутствия на всех сраницах кроме главное к адресу картинки добавлялся доппуть и картинка брокен...
p.p.s. "решение" записано в поваренную книгу и отправлено инопланетянам!)))
Комментарии
чтобы прописать описание и заголовок картинки в строчке
print theme('imagecache', 'имятвоегопресетаImagecache', $node ->имятвоего_imagefield[0]['filepath']);
надо дописать значения:
print theme('imagecache', 'имятвоегопресетаImagecache', $node ->имятвоего_imagefield[0]['filepath']), $node->имятвоегопресета_imagefield[0]['data']['description'], $node->имятвоегопресета_imagefield[0]['data']['alt'], $node->имятвоегопресета_imagefield[0]['data']['title']);
Пей кoньяк (Кизлярсий).
За решение спасибо.
Специально так написал, чтобы в другом месте по***лись?
imagefield, cck, imagecache, lightbox.
Взялся писать - пиши нормально!
Скажу: Спасибо
В этой строке вместо $node->field_5444[0] необходимо написать $node->имятвоего_imagefield[0]['filepath']
А так все нормуль)) За решение спасибо!