DLE — разный фон в коротких новостях

dle random bg shortstory - DLE - разный фон в коротких новостях

Недавно в сети наткнулся на статью о чередовании фона в коротких новостях. Метод основан на том, что для каждой новости присваивется уникальный 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

DLE — случайных цвет в background
DLE — случайных цвет в background
DLE — случайных цвет в background
DLE — случайных цвет в background
DLE — случайных цвет в background
DLE — случайных цвет в background

Также можно настроить и случайную подстановку фона (см. три примера выше) короткой новости в 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>

Новости от партнеров

Комментарии

  1. @PoosseDiutt пишет:
    16.10.2013 в 12:28

    Kлиeнтскиe бaзы тeл +791З3936878

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *