Forums / National / Russian / Скины и дизайн / Логика в дизайне

Evil
#1 2015-02-27 09:50

Есть задача "украсить" таблицу выводом разноцветных бекграунд фонов по очереди, т.е. строка 1 серая, строка 2 белая и т.д.

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

Alex300
#2 2015-02-27 10:00

Документации не так много, но для начала хватает: http://www.cotonti.com/docs/ext/themes

И еще не много о самих таблицах: http://getbootstrap.com/css/#tables

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Evil
#3 2015-02-27 10:07

На первую задачу ответ был найдет по первой ссылке:

<!-- IF {PHP.i} % 2 -->
Строка четная.
<!-- ENDIF -->

 

Dayver
#4 2015-02-27 10:10
#40636 Evil:

На первую задачу ответ был найдет по первой ссылке:

<!-- IF {PHP.i} % 2 -->
Строка четная.
<!-- ENDIF -->

Я бы даже сказал больше:

<!-- IF {PHP.i} % 2 -->
Строка четная.
<!-- ELSE -->
Строка НЕ четная.
<!-- ENDIF -->
Pavlo Tkachenko aka Dayver
Kort
#5 2015-02-27 10:36

Когда-то существовала (и до сих пор у многих сохранилась) привычка для регулярного блока плагина тегом реализовывать простановку класса .odd / .even

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Dayver
#6 2015-02-27 10:42

Кстати да, но не во всех шаблонах и их блоках эта фишка доступна ... поэтому я бы порекомендовал сперва пробовать odd / even использовать как менее ресурсоемкие а если они не доступны то уже логикой

Pavlo Tkachenko aka Dayver
Kort
#7 2015-02-27 10:48

Если уж на то, то и :nth-child() никто не отменял:

tr:nth-child(even) { ... }
tr:nth-child(odd) { ... }

 

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Evil
#8 2015-02-27 10:56

А можно на конкретике? А то не совсем понимаю...

CrazyFreeMan
#9 2015-02-27 11:07

Если тема на bootstrap то там вообще ничего кодить не нужно, для таблицы добавляем класс class="tables-striped"   http://getbootstrap.com/css/#tables-striped

Ну или как писали выше описать классы для odd/even или скопипастить с бутстрапа

Dayver
#10 2015-02-27 11:07
#40643 Kort:

tr:nth-child(even) { ... }

tr:nth-child(odd) { ... }

Имеется ввиду что в самом css есть возможности таковые дабы раскрашивать поочередные элементы

Pavlo Tkachenko aka Dayver
Evil
#11 2015-02-27 11:09

Можете кинуть пример? А то про возможность понял, а реализацию - нет.

Kort
#12 2015-02-27 11:10

В своем css файле прописываешь:

table#specs tr:nth-child(even) { background:#eee; }
table#specs tr:nth-child(odd) { background:#ddd; }

ну или как там надо. Это вполне себе стандартный CSS3.

Если надо зацепить браузеры постарше, можно через jQuery:

$('table#specs tr:odd').addClass('odd');
$('table#specs tr:even').addClass('even');

Или вариант с шаблонизатором -- кому как нравится. Но сперва проверь код плагина -- возможно там генерится тег типа ODDEVEN с реализацией типа:

<tr class="{PLUGIN_ODDEVEN}">
...

 

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Evil
#13 2015-02-27 11:14

а что за плагин?

Kort
#14 2015-02-27 11:28

Это если твоя таблица генерится плагином, или откуда ты взял счетчик PHP.i Если же ты ее вручную делаешь, то твой путь -- CSS/jQuery

SED.by - создание сайтов, разработка плагинов и тем для Котонти
This post was edited by Kort (2015-02-27 11:34, 9 years ago)
Evil
#15 2015-02-27 11:35

Все, кажется дошло...