Четные и нечетные строки при выводе подразделов

Статус
В этой теме нельзя размещать новые ответы.

alex-ii

Создатель
Регистрация
9 Июл 2009
Сообщения
19
Реакции
2
Создал компонент для вывода подразделов раздела. Хотелось бы сделать так чтобы строки таблиы раскрашивались... нечетная белым, четная например синим...
Подразделы вывожу так: ".s_browse_sub($sub,$browse_sub)."

Собственно вот шаблон вывода:
$browse_sub[prefix] = "<table width='100%' border='0'>";
$browse_sub[suffix] = "</table>";
$browse_sub[active] = "<tr><td><a href=%URL>%NAME</a></tr></td>\n"";
$browse_sub[active_link] = "<tr><td><a href=%URL>%NAME</a></tr></td>\n"";
$browse_sub[unactive] = "<tr><td><a href=%URL>%NAME</a></tr></td>\n";
$browse_sub[divider] = "";

Кто подскажет?
 
Предложу свое любимое решение =)

Предложу своё любимое решение (правда оно к PHP и Netcat отношения не имеет).
1. Скачайте и скопируйте в корень сайта библиотеку Для просмотра ссылки Войди или Зарегистрируйся.
2. Подключите файл к макету дизайна
PHP:
<script type="text/JavaScript" src="jquery.min.js"></script>
3. Поместите вашу таблицу в DIV с классом "a1"
PHP:
$browse_sub[prefix] = "<div class='a1'><table width='100%' border='0'>";
$browse_sub[suffix] = "</table></div>";
4. Добавьте стили для нормальной ячейки и окрашенной (".paint")
PHP:
<style>
.a1 table tr td{
 background: #74B8E4; // синий
}
.a1 table tr.paint td{
 background: #DFDFDF; // серый
}
</style>
5. После блока навигации в макете дизайна добавьте следующий код (он производит выборку всех четных TR во всех таблицах, которые находятся в DIV с классом "a1")
PHP:
<script type="text/JavaScript">
$(".a1 > table tr:nth-child(odd)").addClass("paint");
</script>
Помоему, Для просмотра ссылки Войди или Зарегистрируйся.
Надеюсь то, что вы искали :)
 
Есть делать без js, то вот вариант:
$browse_sub[prefix] = "<table width='100%' border='0'>";
$browse_sub[suffix] = "</table>";

$browse_sub[unactive] = "<tr \".((\$i%2)?\"class='odd'\":NULL).\"><td><a href=%URL>%NAME</a></tr></td>\n";
// $i - это номер элемента в массиве подразделов
// проверяем его на четность $i%2 - и подставляем нужный класс в случае успеха
// в классе "odd" уже указываем, какой цвет ставить
$browse_sub[divider] = "";

p.s.
когда выйдет css3 такие вещи можно будет делать просто через css:
tr:nth-child(2n+1) /* represents every odd row of a HTML table */
tr:nth-child(odd) /* same */
tr:nth-child(2n) /* represents every even row of a HTML table */
tr:nth-child(even) /* same */

/* Alternate paragraph colours in CSS */
p:nth-child(4n+1) { color: navy; }
p:nth-child(4n+2) { color: green; }
p:nth-child(4n+3) { color: maroon; }
p:nth-child(4n+4) { color: purple; }
 
Собстно, сами неткатовцы этот вопрос решали в компоненте, а не в шаблонах навигации.
Возможно, немного ошибусь, но навскидку так

в префиксе:
".opt($counter=0,"")."

в списке объектов:
<tr class='".($counter/2==floor($counter/2)? "red" : "green")."'>...
".opt($counter++,"")."
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху