PDA

Просмотр полной версии : Враппинг картинок, таблиц и иже с ними


Fearless Goblin
08.05.2008, 01:15
Проблема в следующем: необходимо иметь возможность вставлять каждый элемент контента (без header-а) в определённый цсс-класс с целью его (элемента) последующего позиционирования.

Например, каждый абзац текста можно заврапить, добавив в раздел констант шаблона такую строку:

styles.content.textStyle.altWrap = <div class="die_text_middle">|</div>


А как такое же сделать и для картинок, которые содержатся в элементах "Image" и "Text with image", а также для типов "Table" и "Bullet list"?

И сразу второй вопрос: каким образом можно достучаться до clear.gif, который вставляется перед теми же картинками и таблицами?
Например, чтобы изменить расстояние от верхнего края картинки до предыдущего элемента контента, нужно в шаблоне прописать:

tt_content.image.20.spaceBelowAbove = 10

Это изменит высоту clear.gif, который вставляется перед картинкой. Но приведённый пример работает только для типа элемента контента "Image", а как изменить этот же параметр и для картинок, которые вставляются в "Text with image"?
Код:
tt_content.textpic.20.spaceBelowAbove = 50
изменяет только расстояние до текста. То есть, если, например, у нас будет идти сначала картинка, а потом текст, то расстояние от картинки до текста будет именно 50 пикселей, а вот от верхнего края картинки до предыдущего элемента контента (либо заголовка) так и останется 1 пиксель.

Буду очень благодарен ответившим!

shuman
08.05.2008, 06:50
А разве нельзя использовать общий отступ? см.вложение

если везде то тут наверное надо копать (отрывок из css_styled_content)

tt_content >
tt_content = CASE
tt_content.key.field = CType
tt_content.stdWrap {

spaceBefore.field = spaceBefore
spaceAfter.field = spaceAfter
space = {$content.space}

Fearless Goblin
08.05.2008, 12:27
Общий отступ не подходит, так как он определяет отступ элемента контента вместе с header-ом, а мне нужно регулировать также и расстояние от header-a до самого контента.

В принципе, я уже разобрался, как такое сделать. Нужно в шаблоне прописать следующее:

CONTENT = CONTENT
CONTENT {
table = tt_content
select.orderBy = sorting
/*здесь всё, что связано с выборкой*/

renderObj.image.20.stdWrap.wrap = <div style="margin-top: 11px;"> | </div>

renderObj.textpic.20.stdWrap.wrap = <div style="margin-top: 11px;"> | </div>

renderObj.table.20.stdWrap.wrap = <div style="margin-top: 11px;"> | </div>

renderObj.uploads.20.stdWrap.wrap = <div style="margin-top: 11px;"> | </div>
}

Вот таким вот образом и можно заврапить элемент контента без загловка во что угодно.

Но тем не менее остался нерешённым один вопрос: для "Text with Image" строка: renderObj.textpic.20.stdWrap.wrap = <div style="margin-top: 11px;"> | </div>
врапит всё вместе, а вот как заврапить только картинку (картинки) из этого блока?