В общем смысл таков, создаю сайт-каталог товаров. Для меня это первый опыт с друпалом (раньше год использовал DLE) и я немного запутался. Идея такова, к ноде подгружается какое-то количество картинок через ImageField, при этом в самой ноде будут отображаться превьюшки, например внизу. Картинки разных размеров, поэтому они должны каким-то образом (еще не понял каким) выравниваться. При клике на картинку открывается лайтбокс с полноразмерной картинкой.
Теперь как я это пытаюсь уже четвертый день сделать:
Поставил CCK, imagefield, Lightbox, все включил. Создал поле с типом Image, затем задал для него второй тип Lightbox2 iframe: oroginal >> node page (больше ничего связанного с лайтбокосом там не было) для полной и краткой новости. Теперь пробую создать заметку, загружаю несколько картинок. Сохраняю... И ничего не вижу. То есть текст новости есть, а загруженных картинок нет. Что делаю не так?)
Прикладываю скриншоты, что бы понятней было то что щас.
зы: сам по себе лайтбокс работает, проверял через rel="lightbox" вручную.
Комментарии
А вы разрешения на просмотр полей типа imagefield давали?
Так я понял для админа они видны в любом случае. Ведь разрешения ставятся только для гостей и обычных юзеров
зы: выставил view imagefield uploads для всех, не помогло
Буду следить за темой... т.к. сам сделать такое не смог.
странно, у меня спокойно работает. даже после смены сервера
Везет... Я уже даже не знаю что придумать, что бы заработало. Вот тестю модуль Slideshow Creator, конечно не то что надо, но хоть как-то картинки оформлены.
Может опишите как сделали? Какие версии использовали?
Я на пятерке, cck+imagefield+lightbox2. Кстати, для отладки попробуйте Contemplate модуль, в нем можно посмотреть всё содержимое объекта ноды. Там будет видно для начала, есть ли вообще в ноде ваши поля imagefield и выводятся ли он в $body
Я проверял, если тип данных поменять с lightbox на image, то все обрабатывается и выводятся картинки как они есть (не сжимаются и т.п.)
зы: буду ставить пятерку...
Поставил пятерку, моудли cck+imagefield+lightbox2+Jquery_update, все включил... Для поля image вообще даже лайтбокс выбрать нельзя, только стандартные типы Типа его нет. Как все сложно....
это баг, установите dev-версию. сам на это натыкался. С dev-версией все работает
А лучше поставьте tikbox, с ним все гораздо легче
Поставил dev lightbox на шестерку и пятерку... Ничего не поменялось. Менял просто удалением папки из модулей и заливкой новой. Правильно?
не-а! Сначала отключаешь модуль, потом тыкаешь "удалить" на странице с модулями, выбираешь и удаляешь
В общем все заработало) ЧТо бы превьюшки создавались поставил ImageCache. Остался один последний вопрос. У меня превьюшки почему-то выстраиваются одна под другой. И если 10 картинок, то получается такой столбик) Как сделать, что бы они были допустим по 4 в ряд?
А если на этапе "тыкаешь "удалить" на странице с модулями" он мне пишет:
Нет модулей доступных для удаления.
как быть?)
update: все, понял свою ошибку иожно не отвечать. Вечером скажу работает ли дев версия
И если 10 картинок, то получается такой столбик) Как сделать, что бы они были допустим по 4 в ряд?
а это уже темизация. Отловите нужный вам DIV с помощью FireBug и назначте ему стиль display:inline и еще отступы чтобы не сливались
а как сделать именно по 4 в ряд?
Ну у контейнера для этих фоток сделай маржинг боковой большой, или ширину для него укажи.
А кстати в каком файле то ловить див?) Сам див как выглядит нашел, но вот понять в каком файле он прописывается не могу понять. Как-то не очень очевидно здесь все лежит, в отличие от ДЛЕ.
Нашол нечто похожее в content-field.tpl.php, но там задается не для поля image, а вообще для всех полей ссk
<?php if (!$field_empty) : ?>
<div class="field field-type-<?php print $field_type_css ?> field-<?php print $field_name_css ?>">
<?php if ($label_display == 'above') : ?>
<div class="field-label"><?php print t($label) ?>: </div>
<?php endif;?>
<div class="field-items">
<?php $count = 1;
foreach ($items as $delta => $item) :
if (!$item['empty']) : ?>
<div class="field-item <?php print ($count % 2 ? 'odd' : 'even') ?>">
<?php if ($label_display == 'inline') { ?>
<div class="field-label-inline<?php print($delta ? '' : '-first')?>">
<?php print t($label) ?>: </div>
<?php } ?>
<?php print $item['view'] ?>
</div>
<?php $count++;
endif;
endforeach;?>
</div>
</div>
<?php endif; ?>
Див ловить в фаербаге. Еще можно ссылку на сайт дать.
этого дива ни в каком файле нет. в файле style.css добавьте его стиль сами
Блин, я так и не понял как выровнять в линию. Нашел, что вроде как, отвечает стиль с названием field-items.
Ну вот пишу в style.css:
display: inline;
}
И ничего не происходит. Я вообще прописал это во все возможные ксс, какие нашел - ноль реакции.
Вот полностью код, который выводит две картинки в ноду
<div class="field-label">SS: </div>
<div class="field-items">
<div class="field-item odd">
<a rel="lightbox[field_ss][<br /><br /><a href="/drupal/node/2">View Image Details</a>]" href="http://localhost/drupal/sites/default/files/2008-09-15_230126_1.jpg">
</a>
</div>
<div class="field-item even">
<a rel="lightbox[field_ss][<br /><br /><a href="/drupal/node/2">View Image Details</a>]" href="http://localhost/drupal/sites/default/files/2008-10-05_203846.jpg">
</a>
</div>
</div>
</div>
Еще попробовал вот так прописать
display:inline;
}
.field-field-ss .field-items {
display:inline;
}
тоже не помогло. Уже неделю парюсь из-за каких-то картинок. Такая мелочь, а фиг сделаешь.
Урл сайта дайте
У меня все на локалке тестится, но для теста залил сайт на домен _ttp://muz-muz.ru (домен исключительно для тестов). Кроме первой проблемы, теперь еще и с кодировкой что-то ужасное. Вроде в обоих случаях стоит utf8_general_ci, ничего понять не могу с какой стати кодировка сбилась.
зы: хостинг majordomo
update: с кодировкой разобрался
Ну и куда смотреть?
На картинки) Там больше ничего кроме них и не включено, т.к. все остльаное работает. Они почему-то все выстраиваются столбиком, а мне надо что бы в линию хотя бы) Или табличкой 4x4. Я даже views ставил, ниче не помогает.
ААА, первая нода! Меня запутала картинка с полями авторизации, я не сразу понял что к чему. Ну тут у тебя все просто:
.field.field-type-image.field-field-ss .field-items .field-item {
display:inline;
}
Вот так пропиши в css
Огромное спасибо Сделал на локалке, все найс!
А у меня что то тоже не работает, хотя все в CSS прописал:
Код такой выдает:
<div class="field-items">
<div class="field-item odd">
<div class="field-label-inline-first">
Изображения: </div>
<a href="http://partsgroupru/sites/default/files/gallerys/IMG_3709.JPG" class="imagecache imagecache-image_preview imagecache-imagelink imagecache-image_preview_imagelink"><img src="http://partsgroupru/sites/default/files/imagecache/image_preview/gallery... alt="" title="" width="100" height="133" /></a> </div>
<div class="field-item even">
<div class="field-label-inline">
Изображения: </div>
<a href="http://partsgroupru/sites/default/files/gallerys/IMG_3708_4.JPG" class="imagecache imagecache-image_preview imagecache-imagelink imagecache-image_preview_imagelink"><img src="http://partsgroupru/sites/default/files/imagecache/image_preview/gallery... alt="" title="" width="100" height="75" /></a> </div>
<div class="field-item odd">
<div class="field-label-inline">
Изображения: </div>
<a href="http://partsgroupru/sites/default/files/gallerys/IMG_3712.JPG" class="imagecache imagecache-image_preview imagecache-imagelink imagecache-image_preview_imagelink"><img src="http://partsgroupru/sites/default/files/imagecache/image_preview/gallery... alt="" title="" width="100" height="133" /></a> </div>
<div class="field-item even">
<div class="field-label-inline">
Изображения: </div>
<a href="http://partsgroupru/sites/default/files/gallerys/IMG_3715.JPG" class="imagecache imagecache-image_preview imagecache-imagelink imagecache-image_preview_imagelink"><img src="http://partsgroupru/sites/default/files/imagecache/image_preview/gallery... alt="" title="" width="100" height="133" /></a> </div>
</div>
</div>
В файле CSS прописан
.field.field-type-image.field-field-gallery .field-items .field-item {
display:inline;
}
Но не выводит горизонтально.
полезно. надеюсь скоро попробовать