Недавно в сети наткнулся на статью о чередовании фона в коротких новостях. Метод основан на том, что для каждой новости присваивется уникальный id (Очередь добавления – у первой будет id=1, у второй = 2, у 137 = 137).
В математике числа делят на парные и непарные. Вот и хак основан на этом! Функция делит id новости пополам и тем самым определяет ее принадлежность. Если после запятой нет чисел – число парное (128/2 = 64.0), если есть – непарное (129/2=64.5). Для парных подставляется один цвет, а для непарных – другой.
Установка чередования фона
Поставил и понял, что корректное чередование фона возможно только для главной страницы т.к. в категориях могут быть разные id. Могут подряд попасть две и более нечетных новостей, а значит смысл от чередования пропадает.
Правка PHP движка
Открываем engine/modules/show.short.php и находим строку:
$tpl->compile( 'content' );
выше вставляем:
$bg = $row['id'];
if ($bg%2 > 0) {
$bgid = 'bg1';
}
else {
$bgid = 'bg2';
}
$tpl->set( '{bg-id}', $bgid );
Шаблон shortstory.tpl
В папке с шаблоном открываем shorstory.tpl и в контейнер короткой новости добавляем нашу переменную:
<div class="catalog_new news-{bg-id}">
[full-link]
<div class="catalog_img"><img src="{image-1}" alt=""></div>
<div class="catalog_title">{title}</div>
<div class="catalog_text">
{short-story}
</div>
[/full-link]
</div>
CSS
В файл добавляем два значения согласно блока условий, описанных в самом начале статьи.
.news-bg1{
background-color : #F2F8E0;
}
.news-bg2{
background-color : #FFF;
}
Случайный цвет фоном в DLE
Также можно настроить и случайную подстановку фона (см. три примера выше) короткой новости в CMS DLE по заранее подготовленному списку цветов. Для этого понадобится PHP ротатор, о работе которого написано тут
Настройка PHP ротатора
Создаем пустой PHP файл с любым именем, например, bgr.php в который помещаем следующий код:
<?php
//Новый цвет указывается без знака решетки впереди, берется в одинарные верхние кавычки (буква Э на русской раскладке) и в конце строки ставится запятая (кроме последней см. пример ниже).
$colors = [
'ccc',
'000',
'fff',
'ff0000',
'333',
'f2f2f2'
];
echo $colors[array_rand($colors)];
Помещаем ротатор в корень сайта и выводим в шаблон shortstory.tpl в том месте, где начинается разметка контейнера короткой новости, например,:
<div class="catalog_new" style="background:#{include file="bgrot.php"}">
[full-link]
<div class="catalog_img"><img src="{image-1}" alt=""></div>
<div class="catalog_title">{title}</div>
<div class="catalog_text">
{short-story}
</div>
[/full-link]
</div>
Kлиeнтскиe бaзы тeл +791З3936878