PDA

Просмотр полной версии : Активная страница без Conditions


Tod
18.12.2007, 19:08
Подскажите конструкцию для решения следующей задачи: если страница активная, то выделяем ее по другому. Есть что-то типа

10 = TEXT
10.value = page1
10.wrap = <span class="act">|</span>

Если страница неактивна, то последняя строка другая.
В общем, интересует реализация через if как-то, а то я с ними все никак не "подружусь":(

void
19.12.2007, 01:06
Текущая страница всегда активна... Поясните подробней

Tod
19.12.2007, 01:57
Есть меню из 4х страниц, дико разбросанных в дизайне.
Я делаю это с помощью COA и той конструкции что выше, то есть обычный элемент TEXT. Мне лишь нужно отслеживать, если 1 из 4х страниц активна - выделить ее другим стилем.
По идее подходит Conditions, но интересно можно ли через iF и как это сделать)

void
19.12.2007, 02:01
Сделайте сисфолдер, в нем 4 страницы, являющиеся ярлыками на нужные вам. А потом используйте HMENU и не мучайтесь.

Tod
19.12.2007, 13:15
Немного не о том речь:) Или я не проникся идеей.
Расположение страниц в дереве страниц сайта здесь непричем. Сложность для меня определить 4 разных класса для них.
Хотя, в принципе, там есть конструкция, где в меню можно проставлять id страницы, правда получается привязка к id и при его изменении нужно править ксс по идее.

pomotom
19.12.2007, 13:59
вставьте вместо id alias - будет красивее

-=UncleByte=-
19.12.2007, 15:46
Прошу прощения, но так и не понял что именно нужно выделить?
Если есть разные варианты дизайна страниц с разной структурой, то можно это решить при помощи назначения каждой из них отдельного шаблона. Если структура одна, но дизайн немного различается, то можно в TS шаблона поставить css страницы в зависимость от ее id, если же речь идет про меню, то вроде как все варианты уже перебрали выше.
В общем, как говорится, половина ответа на вопрос заключается в его правильной постановке.

Tod
19.12.2007, 20:11
Я думал, что все объяснил четко, но лучше приведу код:
<span class="link1"><a class="act">page1</a></span>
<span class="link2"><a>page2</a></span>
<span class="link3"><a>page3</a></span>
<span class="link4"><a>page4</a></span>

void
19.12.2007, 23:01
Я бы сделал это на HMENU, а цсс-класс запихал бы куда-нибудь в pages - там полей много... Можно даже в TSconfig :)

pomotom
19.12.2007, 23:31
а как его из TSconfig вытащить, пример можно?

Andrey Grey
20.12.2007, 00:14
если правильно понял, то можно сделать не средствами тайпы, а css.
делается основной css со стилями поумолчанию.
делаются, если 3 доп страницы, то 3 доп цсс, в которых переопределены классы.
ну а дальше все просто. поумолчанию прописывается стиль 1.
а для каждой из старинц прописываются условия, что если это страница номер 2, то style2.css и т.п.

void
20.12.2007, 00:58
>а для каждой из старинц прописываются условия, что если это страница номер 2, то style2.css и т.п.
Больно громоздко. Да и в топике же написано - без Conditions.
Конечно, можно присобачить каждый из .css файлов в Files свойство страницы, но это будет имхо жестокий оверхед. Проще в какое-нибудь текстовое поле, будь то Abstract, Description или TSConfig прописать класс.
В TSConfig можно написать #class1, а потом через stdWrap обрезать комментарий...

Tod
20.12.2007, 13:04
-=UncleByte=- мне подсказал решение.
Сделаю через HMENU, а 4 страницы через OptionSplit определю:) Благо этих страниц всегда 4.

-=UncleByte=-
20.12.2007, 21:35
Покажи потом конечный результат? Интересно посмотреть :)

Andrey Grey
21.12.2007, 15:36
>а для каждой из старинц прописываются условия, что если это страница номер 2, то style2.css и т.п.
>Больно громоздко. Да и в топике же написано - без Conditions.


Что уж громоздкого? всего 3 условия. Но без кондитионс это да... можно конечно еще один вариант.
создать доп эксты на 4-х разныхстраницах. и каждая будет брать свой цсс.
>
Проще в какое-нибудь текстовое поле, будь то Abstract, Description или TSConfig прописать класс.
В TSConfig можно написать #class1, а потом через stdWrap обрезать комментарий...
приведи пример, не понимаю какой ход мысли...

Tod
24.12.2007, 14:56
В общем наверное я не совсем четко выразился что конкретно мне было нужно:) Так как рассуждения пошли совсем в разные стороны.

В итоге решил задачу таким вот кодом. 4 разных страницы, 4 разделения в OptionSplit.

10 = HMENU
10.special = list
10.special.value = 13,12,11,26
10.1 = TMENU
10.1 {
noBlur = 1
expAll = 1
NO.allWrap = <div id="link1"><div class="link">|</div></div>|*|<div id="link2"><div class="link">|</div></div>|*|<div id="link3"><div class="link">|</div></div>||<div id="link4"><div class="link">|</div></div>
ACT = 1
ACT.allWrap = <div id="link1"><div class="link">|</div></div>|*|<div id="link2"><div class="link">|</div></div>|*|<div id="link3"><div class="link">|</div></div>||<div id="link4"><div class="link">|</div></div>
ACT.ATagParams = class="active"
}

(зы, совершенно забыл об OptionSplit, так бы конечно не постил сюда вопрос)

Andrey Grey
24.12.2007, 15:06
можно сократить
ACT = 1
ACT < .NO
ACT.ATagParams = class="active"

Tod
24.12.2007, 16:19
Знаю, можно:) Спасибо.
Но, лично мне, не нужно. Мало ли что потом править прийдется.