Здравствуйте, уважаемые.
Есть новый тип материала, добавлено поле Image, все вроде хорошо, но в тизере и в тексте полной ноды картинка выводится над текстом. Внимание! Вопрос!
Подскажите пожалуйста неразумному, что нужно сделать (вставить, убрать, изменить) в шаблоне материала (использую Contemplate), чтобы картинка выводилась слева от текста. Прочитал кучу материалов, а догнать никак не могу.
Заранее благодарю.
Комментарии
в html есть понятие "обтекание картинки текстом", нужно выбрать устраивающий Вас вариант, там ещё задаётся расстояние между картинкой и текстом (по горизонтали и вертикали).
Можно, в принципе, прописывать каждый раз при создании публикации. Можно автоматизировать, если Вы можете прописать это в шаблон.
img src="images/sample.gif" width="100" height="200" alt="Иллюстрация" align="left" vspace="5" hspace="5"
выделила жирным
Про обтекание текста в HTML я знаю. Я не могу понять как это применить в Contemplate.
Есть шаблон вывода тизера:
image
Это шаблон выводит краткое содержание материала с картинкой, которая находится над текстом, а мне надо, чтобы картинка была слева от текста (как вариант справа). Что в данном шаблоне (если вообще здесь надо что-то менять) нужно изменить, чтобы получилось задуманное?
Спасибо.
Что-то не то получилось, вот такой код:
<h3 class="field-label">image</h3>
<div class="field-items">
<div class="field-item"><?php print $node->field_image[0]['view'] ?></div>
</div>
</div>
Это шаблон выводит краткое содержание материала с картинкой, которая находится над текстом, а мне надо, чтобы картинка была слева от текста (как вариант справа). Что в данном шаблоне (если вообще здесь надо что-то менять) нужно изменить, чтобы получилось задуманное?
Спасибо.
Если нужна картинка, то нужно искать в объекте ноды не field_image[0]['view'], а только адрес картинки и вставлять ее тегом img куда требуется
<div class="field-item vashcssclass"><?php print $node->field_image[0]['view'] ?></div>
в файле style.css вашей темы дописываете стиль:
тут ваш цсс
}
2dfaker, картинка вставляется через связку CCK, ImageField, ImageCache, чтобы в тизере был один размер (поменьше),а в полном тексте другой (побольше), не могу разобраться как сделать, чтобы картинки выводились рядом с текстом, а не над ним.
Небольшой пример. В contemplate (field_b_description текстовое поле, field_b_cover imagefield):
if (!empty($node->field_b_description[0]['value'])) {
$description = '<p>' . check_plain($node->field_b_description[0]['value']) . '</p>';
if (!empty($node->field_b_cover[0]['view'])) {
$description = '<div>' . $node->field_b_cover[0]['view'] . '</div>' . $description;
}
$o .= sprintf($f_field_description, $description);
}
и css:
margin-top: 0.5em;
float: left
}
div.field-item-description p {
text-indent: 1.5em;
text-align: justify;
margin: 0;
}
div.field-item-description div {
float: left;
margin-right: 7px;
}
div.field-item-description div img {
border: 1px solid #898E7F;
}
.field-field-a-description div.field-items div.field-item {
text-align: justify;
}
картинка тут заворачивается в div, и для этого дива стоит float: left; (третий блок в css), в этом случае картинка расположена слева от текста field_b_description
2Geldora, 2dfaker, спасибо. Я так понял, что в файл style.css, нужно добавить CSS код:
.field-field-image {
float: left;
и т.д.
}
Прописал, все получилось, спасибо, соратники. Проблема была в том, что не мог понять в каком файле и какие название стиля нужно прописать.
Зд-те, подскажите пожалуйста, что должно быть в идеале в блоке с кодом?
Сейчас там у меня вот :
<?php<div class="field field-type-filefield field-field-kartinka">
<h3 class="field-label">kartinka</h3>
<div class="field-items">
<div class="field-item"><?php print $node->field_kartinka[0]['view'] ?></div>
</div>
</div>?>
Я понимаю что нужно добавить в div и class добавить, в css прописать.
Все делаю, но у меня не отображается ни картинка ни текст.
Пожалуйста покажите что там должно быть чтоб картинка была слева и текст обтекал ее.
Заранее благодарю.