Перейти к публикации

Модуль смены Логотипа по датам


Рекомендованные сообщения

Здравствуйте существует ли такой мод?

На 8.5 работал этот:

<?php

/**************************************************

	Модуль показа логотипа в зависимости от даты


-------------------------------------------------


	Автор: 


-------------------------------------------------

	Настройка:

	1. Создаете массив нужных дат в таком виде:

		$dates [1][data_start] = ''; //Дата начала периода

		$dates [1][data_end] = ''; //Дата конца периода

		$dates [1][logo] = ''; //имя рисунка


	2. Чем ниже запись, тоесть чем больше порядочный номер даты в массиву,

	тем больше его приоритет, поетому конкретные даты стоит ставить ниже,

	а периоды высше.


	3. Стандартный логотип (если никакая дата не подходит), вписываем в переменную $default


	4. В папку /uploads/logos залить нужные логотипы.

***************************************************/

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}

//================= НАСТРОЙКА ДАТ ====================

//По умолчанию

	$default = 'main.jpg';


//Осень

	$dates [1][data_start] = '01.09';

	$dates [1][data_end] = '30.11';

	$dates [1][logo] = 'osen.jpg';

//================= НАСТРОЙКА ДАТ ====================


$today = date("d.m.Y");

$today = explode ('.',$today);


foreach ($dates as $value){

	$from = explode ('.',$value[data_start]);

	$to = explode ('.',$value[data_end]);


	$from[2] = $today[2];

	if($from[1]<=$to[1]) $to[2]=$today[2]; else $to[2]=$today[2]+1;



	$buf_today = mktime(0,0,0,$today[1],$today[0],$today[2]);

	$buf_from = mktime(0,0,0,$from[1],$from[0],$from[2]);

	$buf_to = mktime(0,0,0,$to[1],$to[0],$to[2]);


	if($buf_today>=$buf_from AND $buf_today<=$buf_to) $logotip = $value[logo];

}


if (!$logotip) $logotip  = $default;

?>
с изменениями в index.php после строки:
$tpl->set('{headers}', $metatags); 
добавляем строки:
include_once(ENGINE_DIR.'/modules/logo_date.php');

	$tpl->set('{logo}', 'logos/'.$logotip); 
но в 9-ки при вставке кода на сайте появляюся вместо надписей - ерографы, п.с. да и строчка
$tpl->set('{headers}', $metatags);

имеет несколько измененный вид

п.с. сайт

Ссылка на сообщение
Поделиться на других сайтах

Замученный код какой-то... Можно в принципе в 2-4 написать, но зависит от конкретных нужд. Был бы Зенд у кого рабочий - сделал бы для паблика крутецкий мод такой бесплатно, а так лень возиться - школота потом перепродаёт.

А как он должен работать, что-то не пойму, по периодам (осень-зима-весна-лето), по праздникам или вы хотите сами свои даты указать? - можно все дни года собрать в кучу, а вы уже могли бы просто задать массив шапок, если шапка есть в массиве, то показывается, иначе - дефолтная. Код бы был примерно таким:

#Каждый день года разная шапка,

#если шапки нет, то вывод по дефолту.

$logo[0] = 'default.png';

$logo[1] = 'new_year.png';

...

$logo[365] = 'new_year.png';

$day = (date('z')>0)?date('z'):1;

if (isset($logo[$day]) $img = $logo[$day]; else $img = $logo[0];

#echo "<img src=\"$img\" />";
Для вывода:
$tpl->set('{logo}',"<img src=\"$img\" />");

Изменено пользователем zgr
Ссылка на сообщение
Поделиться на других сайтах

А как он должен работать, что-то не пойму, по периодам (осень-зима-весна-лето), по праздникам или вы хотите сами свои даты указать? - можно все дни года собрать в кучу, а вы уже могли бы просто задать массив шапок, если шапка есть в массиве, то показывается, иначе - дефолтная. Код бы был примерно таким:

Хотелось бы свои даты указывать, допустим зимняя шапка с 15 декабря по 12 января весела, потом на праздник (указываешь сам промежуток "весения" шапочки), ну например 23 февраля либо какое-то мероприятие проходит указываешь опять же период "весения" (т.е. конкретные даты) и он выводит нужный логотип, а если отсутствует дата, то стандартный логотип.

Ссылка на сообщение
Поделиться на других сайтах

Тогда перепишем так. Строку:

if (isset($logo[$day]) $img = $logo[$day]; else $img = $logo[0];
Заменить на:
if (!isset($logo[$day]) {

  for($i=$day;$i>0;--$i) {

    if (isset($logo[$i])) {$img = $logo[$i]; break;}

  }

} else $img = $logo[$day];
Пишем, например, дату:
$logo[1] = 'new_year.png';
Пропускаем 2 дня:
$logo[4] = 'new_year.png';

Тогда будет показываться шапка (раз нет ёё) предыдущая. Т.е. если сейчас 3-й день года, то шапка будет выведена за первый день.

Изменено пользователем zgr
Ссылка на сообщение
Поделиться на других сайтах

Замученный код какой-то... Можно в принципе в 2-4 написать, но зависит от конкретных нужд. Был бы Зенд у кого рабочий - сделал бы для паблика крутецкий мод такой бесплатно, а так лень возиться - школота потом перепродаёт.

А как он должен работать, что-то не пойму, по периодам (осень-зима-весна-лето), по праздникам или вы хотите сами свои даты указать? - можно все дни года собрать в кучу, а вы уже могли бы просто задать массив шапок, если шапка есть в массиве, то показывается, иначе - дефолтная. Код бы был примерно таким:

#Каждый день года разная шапка,

#если шапки нет, то вывод по дефолту.

$logo[0] = 'default.png';

$logo[1] = 'new_year.png';

...

$logo[365] = 'new_year.png';

$day = (date('z')>0)?date('z'):1;

if (isset($logo[$day]) $img = $logo[$day]; else $img = $logo[0];

#echo "<img src=\"$img\" />";
Для вывода:
$tpl->set('{logo}',"<img src=\"$img\" />");
Уважаемый, zgr Разъясните пожалуйста, как это организовать поподробнее, я так понимаю создать файл допустим с именем logo_date.php и содержанием:
<?php

/**************************************************

        Модуль показа логотипа в зависимости от даты


-------------------------------------------------


        Автор: zgr


-------------------------------------------------

        Настройка:


***************************************************/


#Каждый день года разная шапка,

#если шапки нет, то вывод по дефолту.

$logo[0] = 'default.png';

$logo[1] = 'default.png';

$logo[2] = 'default.png';

$logo[3] = 'default.png';

$logo[4] = 'default.png';

$logo[5] = 'default.png';

$logo[6] = 'default.png';

$logo[7] = 'default.png';

$logo[8] = 'default.png';

$logo[9] = 'default.png';

$logo[10] = 'default.png';

$logo[11] = 'default.png';

$logo[12] = 'default.png';

$logo[13] = 'default.png';

$logo[14] = 'default.png';

$logo[15] = 'default.png';

$logo[16] = 'default.png';

$logo[17] = 'default.png';

$logo[18] = 'default.png';

$logo[19] = 'default.png';

$logo[20] = 'default.png';

$logo[21] = 'default.png';

$logo[22] = 'default.png';

$logo[23] = 'default.png';

$logo[24] = 'default.png';

$logo[25] = 'default.png';

$logo[26] = 'default.png';

$logo[27] = 'default.png';

$logo[28] = 'default.png';

$logo[29] = 'default.png';

$logo[30] = 'default.png';

$logo[31] = 'default.png';

$logo[32] = 'default.png';

$logo[33] = 'default.png';

$logo[34] = 'default.png';

$logo[35] = 'default.png';

$logo[36] = 'default.png';

$logo[37] = 'default.png';

$logo[38] = 'default.png';

$logo[39] = 'default.png';

$logo[40] = 'default.png';

$logo[41] = 'default.png';

$logo[42] = 'default.png';

$logo[43] = 'default.png';

$logo[44] = 'default.png';

$logo[45] = 'default.png';

$logo[46] = 'default.png';

$logo[47] = 'default.png';

$logo[48] = 'default.png';

$logo[49] = 'default.png';

$logo[50] = 'default.png';

$logo[51] = 'default.png';

$logo[52] = 'default.png';

$logo[53] = 'default.png';

$logo[54] = 'default.png';

$logo[55] = 'default.png';

$logo[56] = 'default.png';

$logo[57] = 'default.png';

$logo[58] = 'default.png';

$logo[59] = 'default.png';

$logo[60] = 'default.png';

$logo[61] = 'default.png';

$logo[62] = 'default.png';

$logo[63] = 'default.png';

$logo[64] = 'default.png';

$logo[65] = 'default.png';

$logo[66] = 'default.png';

$logo[67] = 'default.png';

$logo[68] = 'default.png';

$logo[69] = 'default.png';

$logo[70] = 'default.png';

$logo[71] = 'default.png';

$logo[72] = 'default.png';

$logo[73] = 'default.png';

$logo[74] = 'default.png';

$logo[75] = 'default.png';

$logo[76] = 'default.png';

$logo[77] = 'default.png';

$logo[78] = 'default.png';

$logo[79] = 'default.png';

$logo[80] = 'default.png';

$logo[81] = 'default.png';

$logo[82] = 'default.png';

$logo[83] = 'default.png';

$logo[84] = 'default.png';

$logo[85] = 'default.png';

$logo[86] = 'default.png';

$logo[87] = 'default.png';

$logo[88] = 'default.png';

$logo[89] = 'default.png';

$logo[90] = 'default.png';

$logo[91] = 'default.png';

$logo[92] = 'default.png';

$logo[93] = 'default.png';

$logo[94] = 'default.png';

$logo[95] = 'default.png';

$logo[96] = 'default.png';

$logo[97] = 'default.png';

$logo[98] = 'default.png';

$logo[99] = 'default.png';

$logo[100] = 'default.png';

$logo[101] = 'default.png';

$logo[102] = 'default.png';

$logo[103] = 'default.png';

$logo[104] = 'default.png';

$logo[105] = 'default.png';

$logo[106] = 'default.png';

$logo[107] = 'default.png';

$logo[108] = 'default.png';

$logo[109] = 'default.png';

$logo[110] = 'default.png';

$logo[111] = 'default.png';

$logo[112] = 'default.png';

$logo[113] = 'default.png';

$logo[114] = 'default.png';

$logo[115] = 'default.png';

$logo[116] = 'default.png';

$logo[117] = 'default.png';

$logo[118] = 'default.png';

$logo[119] = 'default.png';

$logo[120] = 'default.png';

$logo[121] = 'default.png';

$logo[122] = 'default.png';

$logo[123] = 'default.png';

$logo[124] = 'default.png';

$logo[125] = 'default.png';

$logo[126] = 'default.png';

$logo[127] = 'default.png';

$logo[128] = 'default.png';

$logo[129] = 'default.png';

$logo[130] = 'default.png';

$logo[131] = 'default.png';

$logo[132] = 'default.png';

$logo[133] = 'default.png';

$logo[134] = 'default.png';

$logo[135] = 'default.png';

$logo[136] = 'default.png';

$logo[137] = 'default.png';

$logo[138] = 'default.png';

$logo[139] = 'default.png';

$logo[140] = 'default.png';

$logo[141] = 'default.png';

$logo[142] = 'default.png';

$logo[143] = 'default.png';

$logo[144] = 'default.png';

$logo[145] = 'default.png';

$logo[146] = 'default.png';

$logo[147] = 'default.png';

$logo[148] = 'default.png';

$logo[149] = 'default.png';

$logo[150] = 'default.png';

$logo[151] = 'default.png';

$logo[152] = 'default.png';

$logo[153] = 'default.png';

$logo[154] = 'default.png';

$logo[155] = 'default.png';

$logo[156] = 'default.png';

$logo[157] = 'default.png';

$logo[158] = 'default.png';

$logo[159] = 'default.png';

$logo[160] = 'default.png';

$logo[161] = 'default.png';

$logo[162] = 'default.png';

$logo[163] = 'default.png';

$logo[164] = 'default.png';

$logo[165] = 'default.png';

$logo[166] = 'default.png';

$logo[167] = 'default.png';

$logo[168] = 'default.png';

$logo[169] = 'default.png';

$logo[170] = 'default.png';

$logo[171] = 'default.png';

$logo[172] = 'default.png';

$logo[173] = 'default.png';

$logo[174] = 'default.png';

$logo[175] = 'default.png';

$logo[176] = 'default.png';

$logo[177] = 'default.png';

$logo[178] = 'default.png';

$logo[179] = 'default.png';

$logo[180] = 'default.png';

$logo[181] = 'default.png';

$logo[182] = 'default.png';

$logo[183] = 'default.png';

$logo[184] = 'default.png';

$logo[185] = 'default.png';

$logo[186] = 'default.png';

$logo[187] = 'default.png';

$logo[188] = 'default.png';

$logo[189] = 'default.png';

$logo[190] = 'default.png';

$logo[191] = 'default.png';

$logo[192] = 'default.png';

$logo[193] = 'default.png';

$logo[194] = 'default.png';

$logo[195] = 'default.png';

$logo[196] = 'default.png';

$logo[197] = 'default.png';

$logo[198] = 'default.png';

$logo[199] = 'default.png';

$logo[200] = 'default.png';

$logo[201] = 'default.png';

$logo[202] = 'default.png';

$logo[203] = 'default.png';

$logo[204] = 'default.png';

$logo[205] = 'default.png';

$logo[206] = 'default.png';

$logo[207] = 'default.png';

$logo[208] = 'default.png';

$logo[209] = 'default.png';

$logo[210] = 'default.png';

$logo[211] = 'default.png';

$logo[212] = 'default.png';

$logo[213] = 'default.png';

$logo[214] = 'default.png';

$logo[215] = 'default.png';

$logo[216] = 'default.png';

$logo[217] = 'default.png';

$logo[218] = 'default.png';

$logo[219] = 'default.png';

$logo[220] = 'default.png';

$logo[221] = 'default.png';

$logo[222] = 'default.png';

$logo[223] = 'default.png';

$logo[224] = 'default.png';

$logo[225] = 'default.png';

$logo[226] = 'default.png';

$logo[227] = 'default.png';

$logo[228] = 'default.png';

$logo[229] = 'default.png';

$logo[230] = 'default.png';

$logo[231] = 'default.png';

$logo[232] = 'default.png';

$logo[233] = 'default.png';

$logo[234] = 'default.png';

$logo[235] = 'default.png';

$logo[236] = 'default.png';

$logo[237] = 'default.png';

$logo[238] = 'default.png';

$logo[239] = 'default.png';

$logo[240] = 'default.png';

$logo[241] = 'default.png';

$logo[242] = 'default.png';

$logo[243] = 'default.png';

$logo[244] = 'default.png';

$logo[245] = 'default.png';

$logo[246] = 'default.png';

$logo[247] = 'default.png';

$logo[248] = 'default.png';

$logo[249] = 'default.png';

$logo[250] = 'default.png';

$logo[251] = 'default.png';

$logo[252] = 'default.png';

$logo[253] = 'default.png';

$logo[254] = 'default.png';

$logo[255] = 'default.png';

$logo[256] = 'default.png';

$logo[257] = 'default.png';

$logo[258] = 'default.png';

$logo[259] = 'default.png';

$logo[260] = 'default.png';

$logo[261] = 'default.png';

$logo[262] = 'default.png';

$logo[263] = 'default.png';

$logo[264] = 'default.png';

$logo[265] = 'default.png';

$logo[266] = 'default.png';

$logo[267] = 'default.png';

$logo[268] = 'default.png';

$logo[269] = 'default.png';

$logo[270] = 'default.png';

$logo[271] = 'default.png';

$logo[272] = 'default.png';

$logo[273] = 'default.png';

$logo[274] = 'default.png';

$logo[275] = 'default.png';

$logo[276] = 'default.png';

$logo[277] = 'default.png';

$logo[278] = 'default.png';

$logo[279] = 'default.png';

$logo[280] = 'default.png';

$logo[281] = 'default.png';

$logo[282] = 'default.png';

$logo[283] = 'default.png';

$logo[284] = 'default.png';

$logo[285] = 'default.png';

$logo[286] = 'default.png';

$logo[287] = 'default.png';

$logo[288] = 'default.png';

$logo[289] = 'default.png';

$logo[290] = 'default.png';

$logo[291] = 'default.png';

$logo[292] = 'default.png';

$logo[293] = 'default.png';

$logo[294] = 'default.png';

$logo[295] = 'default.png';

$logo[296] = 'default.png';

$logo[297] = 'default.png';

$logo[298] = 'default.png';

$logo[299] = 'default.png';

$logo[300] = 'default.png';

$logo[301] = 'default.png';

$logo[302] = 'default.png';

$logo[303] = 'default.png';

$logo[304] = 'default.png';

$logo[305] = 'default.png';

$logo[306] = 'default.png';

$logo[307] = 'default.png';

$logo[308] = 'default.png';

$logo[309] = 'default.png';

$logo[310] = 'default.png';

$logo[311] = 'default.png';

$logo[312] = 'default.png';

$logo[313] = 'default.png';

$logo[314] = 'default.png';

$logo[315] = 'default.png';

$logo[316] = 'default.png';

$logo[317] = 'default.png';

$logo[318] = 'default.png';

$logo[319] = 'default.png';

$logo[320] = 'default.png';

$logo[321] = 'default.png';

$logo[322] = 'default.png';

$logo[323] = 'default.png';

$logo[324] = 'default.png';

$logo[325] = 'default.png';

$logo[326] = 'default.png';

$logo[327] = 'default.png';

$logo[328] = 'default.png';

$logo[329] = 'default.png';

$logo[330] = 'default.png';

$logo[331] = 'default.png';

$logo[332] = 'default.png';

$logo[333] = 'default.png';

$logo[334] = 'default.png';

$logo[335] = 'default.png';

$logo[336] = 'default.png';

$logo[337] = 'default.png';

$logo[338] = 'default.png';

$logo[339] = 'default.png';

$logo[340] = 'default.png';

$logo[341] = 'default.png';

$logo[342] = 'default.png';

$logo[343] = 'default.png';

$logo[344] = 'default.png';

$logo[345] = 'default.png';

$logo[346] = 'default.png';

$logo[347] = 'default.png';

$logo[348] = 'default.png';

$logo[349] = 'default.png';

$logo[350] = 'default.png';

$logo[351] = 'default.png';

$logo[352] = 'default.png';

$logo[353] = 'default.png';

$logo[354] = 'default.png';

$logo[355] = 'default.png';

$logo[356] = 'default.png';

$logo[357] = 'default.png';

$logo[358] = 'default.png';

$logo[359] = 'default.png';

$logo[360] = 'default.png';

$logo[361] = 'default.png';

$logo[362] = 'default.png';

$logo[363] = 'default.png';

$logo[364] = 'default.png';

$logo[365] = 'default.png';

$day = (date('z')>0)?date('z'):1;

if (isset($logo[$day]) $img = $logo[$day]; else $img = $logo[0];

#echo "<img src=\"$img\logos" />";
Затем его загрузить в папку engine/modules Загрузить картинки логов в папку templates/название_шаблона/img/logos внести изменения в index.php: ниже строки:
$tpl->set ( '{headers}', $metatags."\n".build_js($js_array, $config) );
вставить
$tpl->set('{logo}',"<img src=\"$img\logos" />");

И в шаблоне вставить на месте требуемом {logo}

Подскажите если не сложно :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах

1. Залейте файл с вашим содержимым в /engine/modules/

2. Залейте картинки в любую папку, если хотите, пусть это будет

templates/{THEME}/img/logos/
3. Добавить ваш путь к шапкам в модуль:
if (!isset($config) || !is_array($config) || $config==null) include $_SERVER['DOCUMENT_ROOT'].'/engine/data/config.php';

$path = 'templates/{THEME}/img/logos/';
4. Чтоб ошибок не было, если вдруг шапка будет недоступна, можно такую проверку сделать:
if (is_file($img)) {}
5. Ваш файл можно подключить проще, не трогая файлы самого движка. В шаблон main.tpl вставляем:
{include file="engine/modules/logo.php"}
6. Полное содержимо файла logo.php получится примерно таким:
<?php


/*

Смена лого шапки по праздникам.

e-mail/arent: zgr@bk.ru

icq: 463768885

*/


$logo[0] = 'default.png';

$logo[1] = 'new_year.png';

...

$logo[365] = 'new_year.png';

$day = (date('z')>0)?date('z'):1;

if (!isset($logo[$day]) {

  for($i=$day;$i>0;--$i) {

    if (isset($logo[$i])) {$img = $logo[$i]; break;}

  }

} else $img = $logo[$day];

if (!isset($config) || !is_array($config) || $config==null) include $_SERVER['DOCUMENT_ROOT'].'/engine/data/config.php';

$img = 'templates/'.$config['skin'].'/img/logos/'.$img;

if (is_file($_SERVER['DOCUMENT_ROOT'].$img)) echo '<img src="'.$config['http_home_url'].$img.'" />';

unset($logo,$day,$img);


?>

Вот и всё, это рабочий готовый мод вам. Всё-таки вытянули :D

П.С. Все 365 дней в моде не обязательно заполнять, можно только некоторые, если часть дней пропустите, то будет показана шапка ближайшего прошедшего найденного дня.

Ссылка на сообщение
Поделиться на других сайтах

Dот и всё, это рабочий готовый мод вам. Всё-таки вытянули

П.С. Все 365 дней в моде не обязательно заполнять, можно только некоторые, если часть дней пропустите, то будет показана шапка ближайшего прошедшего найденного дня.

Извиняюсь что вымог :rolleyes: , но он у меня что то работать не хотит:

Parse error: syntax error, unexpected '{' in /var/www/uХХХХХХ/data/www/ХХХХХХ/engine/modules/logo.php on line 376
376 строчка у меня получается
if (!isset($logo[$day]) {

Ссылка на сообщение
Поделиться на других сайтах

м... скобка не распечаталась, извиняюсь, нужно так:

if (!isset($logo[$day])) {
Ссылка на сообщение
Поделиться на других сайтах

м... скобка не распечаталась, извиняюсь, нужно так:

if (!isset($logo[$day])) {

Неа, не работает, теперь вместе картинки отображается:

п»ї

хотя без ошибок и в нужном месте в шаблоне, только картинок нет :(

Ссылка на сообщение
Поделиться на других сайтах

М... что-то я косячник, блин... толи блютуз гонит, толи я :huh: Ну, если код понимаете хоть чуток, то слепо не копируйте.

if (is_file($_SERVER['DOCUMENT_ROOT'].$img))
на ->
if (is_file($_SERVER['DOCUMENT_ROOT']."/$img"))

Так должно работать, попробуйте.

Ссылка на сообщение
Поделиться на других сайтах

вроде работает, но как то напрягает надпись перед картинкой:

п»ї

zgr, подскажите как от неё избавиться?

Ссылка на сообщение
Поделиться на других сайтах

Ничего подобного выводиться не должно, в коде этого нет. Есть подозрение, что вы редактировали код в какой-то хитрой программе и сохранили его в версии УТФ-8, а я привык код писать в обычном блокноте. Можно попробовать сохранить файл без ВОМ, я это делаю с чужими модулями так: копирую всё, вставляю в блокнот, копирую -> вставляю в Штирлица, копирую, вставляю в блокнот, копирую и вставляю в редактор сайтов (прожка, типа блокнота, только с ФТП открывает файлы, а не с ПК); либо в вашем хитром редакторе сохраните просто без ВОМ в настройках.

Ссылка на сообщение
Поделиться на других сайтах

Хитроумная программа Microsoft Office SharePoint Designer 2007 :huh:

попробую через блокнот...

Большое спасибо за мод, ^_^ все работает, видать и правдо у меня был косечок B)

Изменено пользователем maxsidrom
Ссылка на сообщение
Поделиться на других сайтах

А если год окажется високосным?

Если вам требуется индивидуальный скрипт с учетом всех возможных вариантов - пишите в личку, разработаю специально под ваши нужды :)

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...