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>

Читайте также

Похожие записи

DLE — быстрый переезд на хостинг не используя инсталятор
Установка движка DLE на хостинг происходит через специальный файл — инсталятор, в котором необходимо заполнить все поля (имя базы данных,...
DLE — монетизируем загруженные в новостях файлы через отдельный домен
Как много у вас загруженных файлов (приложений к постам) не считая картинок? У меня много и придумал способ их монетизировать!...
DLE — мой первый модуль, как написать свой модуль Datalife Engine
Как ни пытался уйти с DLE из-за того, что он платный, а на рынке существует куча бесплатных аналогов, не получается...
DLE на HTTPS — основные проблемы и их решение
Столкнулся с рядом проблем, когда наконец-то решился перебраться на https. Не появлялись некоторые картинки, видео, а в адресной строке писалось,...
DLE — Модуль форума SimpleBB 1.1
Полноценный форум с единой регистрацией и авторизацией, единым акаунтом и ссылками на профиль от dle \»user/username/\» на движке SimpleBB 1.1...

Комментарии

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

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

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

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