Подскажите как сделать (Решено)

Привет всем, кто может подсказать как сделать что бы к сообщениям присваивался разный фон как тут topig.ru?
спасибо.

15 комментариев

avatar
RGB модель известна? Вот, например, посмотрите на это:
<html>
<body>
<script>
for (i = 0; i < 100; i++) {
  R = 10 + i;
  G = 30 + i * 2;
  B = 50 + i * 2;
  document.write ('<div style="background: rgba(' + R + ',' + G + ',' + B + ',1);">yeah</div>');
}
</script>
</body>
</html>


здесь переменная і задается циклом, в шаблоне вывода комментов такую же можно заполучить из смарти (iteration).
Ну и поиграйтесь с константами.
avatar
Известна) спасибо попробую.

А на сайте как то хитро черес css:
.votes-bg0  { background: #fde8d7; }
.votes-bg1  { background: #feead2; }
.votes-bg2  { background: #fbefc9; }
.votes-bg3  { background: #faf4c2; }
.votes-bg4  { background: #f8f8bc; }
.votes-bg5  { background: #f5fbbb; } 

Вот как каждому .post .votes присваивается свой номер…
avatar
можете внести все оттенки руками в КСС — потом просто итерацию о цикла проставлять в значение стиля как-то так:


<div class="comment votes-bg{$smarty.foreach.Comments_Foreach_Cycle_Name.iteration}">....
avatar
просто инлайн стиль тут мне кажется логичнее, чем прописывать ВСЕ нужные оттенки в CSS.
avatar
На том сайте как раз все оттенки заданы)

Вот тот первый код по всякому пробывал втыкать что бы хоть как то поменялся и максиум что получил это тонну прямоугольником разных оттенков)
avatar
ну так то и есть пример только чтобы вы получили тонну прямоугольников. я же не знаю ваших оттенков. к тому же чтобы к комментариям прикрутить там надо чуть больше постараться
avatar
тобиш получается если я хочу что бы менялись цвета у фона заголовка поста то делаю так:

<div class="topic{if $tSingle} single{/if}">


	<div class="title bg{$smarty.foreach.Comments_Foreach_Cycle_Name.iteration}" >

Название поста
		</div>
	</div>


и в цсс:

.topic .title .bg0  { background: #fde8d7; }
.topic .title .bg1  { background: #feead2; }
.topic .title .bg2  { background: #fbefc9; }


так?)
avatar
да, именно. вот только название Comments_Foreach_Cycle_Name нужно добавить в цикл.
avatar
Извеняюсь, а в какой цикл?) а то я дуб дубом)
avatar
тут такое дело, учитывая вчерашний вопрос прийдется сделать чуть по другому:

в файле comment_tree.tpl нужно найти строку

{include file='comment.tpl'}

и заменить на

{include file='comment.tpl' CycleCounter=$smarty.foreach.rublist.iteration}

а в файле comment.tpl там где нужно будет к классу добаить вот то bg0 нужно будет прописать:

bg{$CycleCounter}
avatar
Сейчас делаю это только не с коментами а с бэкграундом новости.

в файле topic_list.tpl ставлю:
{include file='topic.tpl' CycleCounter=$smarty.foreach.rublist.iteration}

в topic.tpl:

<div class="topic{if $tSingle} single{/if}">


        <div class="title bg{$CycleCounter}" >

Название поста
                </div>
        </div>


в цсс:

.topic .title { border: none;  }
.topic .title .bg0  { background: #fde8d7; }
.topic .title .bg1  { background: #feead2; }
.topic .title .bg2  { background: #fbefc9; }


и ничего не происходит, фона нет вообще.
avatar
ну правильно.
в цикл топик_лист.тпл нужно вставить паракметр


{foreach from=$aTopics item=oTopic name="rublist"}

Если уже так, rublist только и тут и там нужно заменить на что-то более логичное
avatar
Спасибо огромное) всё заработало
avatar
А еще вопрос) если я это всё же в комменты засуну то как выставить что бы генерировало от 1 до 20 и повторялось?)
avatar
ай блин не внимательный, не посмотрел на текст $smarty.foreach.Comments…
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.