PDA

Просмотр полной версии : проверка наличия контента в колонках


are
16.11.2009, 10:10
приведу сразу работающий пример :

page.headerData {
10 = TEXT
10.value = <link rel="stylesheet" type="text/css" href="fileadmin/design/css/layout_left.css" />
10.if.isTrue.numRows < styles.content.getLeft

20 = TEXT
20.value = <link rel="stylesheet" type="text/css" href="fileadmin/design/css/layout_right.css" />
20.if.isTrue.numRows < styles.content.getRight
}

если не выполнено ни одно из условий, то middle:700 - ширина центральной колонки

если в левой колонке есть контент, то в хедер пихаем layout_left.css
(left:100, middle:600 - ширина соотв. колонки)

если в в правой колонке есть контент, то в хедер пихаем layout_right.css
(middle:500, right:200 - ширина соотв. колонки)

а как проверить условие наличия контента одновременно в двух колонках, чтобы вставить layout_left_right.css
(left:100, middle:400, right:200)

мне нужно что-то типа

page.headerData {
10 = TEXT
10.value = <link rel="stylesheet" type="text/css" href="fileadmin/design/css/layout_left.css" />
10.if.isTrue.numRows < styles.content.getLeft

20 = TEXT
20.value = <link rel="stylesheet" type="text/css" href="fileadmin/design/css/layout_right.css" />
20.if.isTrue.numRows < styles.content.getRight

30 = TEXT
30.value = <link rel="stylesheet" type="text/css" href="fileadmin/design/css/layout_left_right.css" />
30.if.isTrue.numRows < styles.content.getLeft && styles.content.getRight

}

идея в том, чтобы растягивать центральную колонку на ширину недостающей колонки.
использовать таблицу для темплейта не хочется

Sergey M Nikitin
17.11.2009, 08:16
Попробуйте так:



10 = COA
10.if #первое условие
10.10 = TEXT
10.10.if #второе условие



Выводиться будет если оба выражение истины, Можно еще попробовать через вложенный stdWrap, но сходу пример не лезит в голову, пробуйте, экспериментируйте.

are
27.11.2009, 10:00
Спасибо!

поэкспериментировал и получил такой работающий код:

page.headerData {
10 = TEXT
10.value = <link href="fileadmin/design/css/layout_left_middle.css" rel="stylesheet" type="text/css" />
10.if.isTrue.numRows < styles.content.getLeft
10.if.isFalse.numRows < styles.content.getRight

20 = TEXT
20.value = <link href="fileadmin/design/css/layout_middle_right.css" rel="stylesheet" type="text/css" />
20.if.isTrue.numRows < styles.content.getRight
20.if.isFalse.numRows < styles.content.getLeft

30 = TEXT
30.value = <link href="fileadmin/design/css/layout_left_middle_right.css" rel="stylesheet" type="text/css" />
30.if.isTrue.numRows < styles.content.getLeft
30.if.isPositive.numRows < styles.content.getRight
}

предполагается, что по умолчанию одноколоночный дизайн с layout.css
(центральная колонка на всю ширину)
Если левый/правый блоки непустые - в дополнение цепляем соотв. стиль

Все хорошо работает, просто супер. У меня, правда, не получилось сделать это , используя стандартный метод подключения стилей
page.includeCSS {
file1 = ...
}