Просмотр полной версии : Активная страница без Conditions
Подскажите конструкцию для решения следующей задачи: если страница активная, то выделяем ее по другому. Есть что-то типа
10 = TEXT
10.value = page1
10.wrap = <span class="act">|</span>
Если страница неактивна, то последняя строка другая.
В общем, интересует реализация через if как-то, а то я с ними все никак не "подружусь":(
Текущая страница всегда активна... Поясните подробней
Есть меню из 4х страниц, дико разбросанных в дизайне.
Я делаю это с помощью COA и той конструкции что выше, то есть обычный элемент TEXT. Мне лишь нужно отслеживать, если 1 из 4х страниц активна - выделить ее другим стилем.
По идее подходит Conditions, но интересно можно ли через iF и как это сделать)
Сделайте сисфолдер, в нем 4 страницы, являющиеся ярлыками на нужные вам. А потом используйте HMENU и не мучайтесь.
Немного не о том речь:) Или я не проникся идеей.
Расположение страниц в дереве страниц сайта здесь непричем. Сложность для меня определить 4 разных класса для них.
Хотя, в принципе, там есть конструкция, где в меню можно проставлять id страницы, правда получается привязка к id и при его изменении нужно править ксс по идее.
вставьте вместо id alias - будет красивее
-=UncleByte=-
19.12.2007, 15:46
Прошу прощения, но так и не понял что именно нужно выделить?
Если есть разные варианты дизайна страниц с разной структурой, то можно это решить при помощи назначения каждой из них отдельного шаблона. Если структура одна, но дизайн немного различается, то можно в TS шаблона поставить css страницы в зависимость от ее id, если же речь идет про меню, то вроде как все варианты уже перебрали выше.
В общем, как говорится, половина ответа на вопрос заключается в его правильной постановке.
Я думал, что все объяснил четко, но лучше приведу код:
<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>
Я бы сделал это на HMENU, а цсс-класс запихал бы куда-нибудь в pages - там полей много... Можно даже в TSconfig :)
а как его из TSconfig вытащить, пример можно?
Andrey Grey
20.12.2007, 00:14
если правильно понял, то можно сделать не средствами тайпы, а css.
делается основной css со стилями поумолчанию.
делаются, если 3 доп страницы, то 3 доп цсс, в которых переопределены классы.
ну а дальше все просто. поумолчанию прописывается стиль 1.
а для каждой из старинц прописываются условия, что если это страница номер 2, то style2.css и т.п.
>а для каждой из старинц прописываются условия, что если это страница номер 2, то style2.css и т.п.
Больно громоздко. Да и в топике же написано - без Conditions.
Конечно, можно присобачить каждый из .css файлов в Files свойство страницы, но это будет имхо жестокий оверхед. Проще в какое-нибудь текстовое поле, будь то Abstract, Description или TSConfig прописать класс.
В TSConfig можно написать #class1, а потом через stdWrap обрезать комментарий...
-=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 обрезать комментарий...
приведи пример, не понимаю какой ход мысли...
В общем наверное я не совсем четко выразился что конкретно мне было нужно:) Так как рассуждения пошли совсем в разные стороны.
В итоге решил задачу таким вот кодом. 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"
Знаю, можно:) Спасибо.
Но, лично мне, не нужно. Мало ли что потом править прийдется.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot