Sywooch 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 (изменено) Создаем файл \engine\modules\random_image.php Со следующим содержанием: <? if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } $random_image = "<center><img src=\"/r_images/".rand(1,10).".jpg\"></a></center>"; // rand(1,10) Количество картинок с 1 по 10-ю должны иметь адреса 1.jpg - ... - 10.jpg ?> Далее открываем файл engine\init.php Находим: include_once $tpl->dir.'/login.tpl'; После добавляем include_once ENGINE_DIR.'/modules/random_image.php'; Далее открываем index.php в корневой папке и находим там: $tpl->set('{speedbar}', $tpl->result['speedbar']); После добавляем: $tpl->set('{random_image}', $random_image); Теперь сами рисунки. Их вы добавляете в папку "r_images" которую нужно создать в корневой директории. В эту папку залейте рисунки, в данном случае 10 Имена рисунков должны быть от 1.jpg до 10.jpg Вот и все. Остается только в нужном месте в шаблоне вставить переменную {random_image} Данный материал не на что не претендует.... Хотел показать как можно интегрировать простейший стрипт в движок. PS/ Делал на ДЛЕ 5.3 Изменено 25 января 2007 пользователем Sywooch Цитата Ссылка на сообщение Поделиться на других сайтах
Rizza 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 А вот из такого скрипта сможешь сделать тоже самое? <?php /* Небольшая модификация скрипта от REDSHIFT SOFTWARE Автор модификации: Guru.eXe/tPORt WWW: http://guru-exe.ripgames.org/ */ if (!isset($path) || empty($path)){ $mydir = "img"; } else { if ($dir = @opendir($path)){ $mydir = $path; } else { $mydir = "img"; } } if ($dir = @opendir($mydir)) { while (($file = readdir($dir)) !== false) { if (eregi('.(jpg|gif|png|jpeg|bmp|jpe)$',$file)) $files[] = $file; } closedir($dir); } srand(time()); $file = $files[rand()%sizeof($files)]; if (eregi('.(jpg|jpeg|jpe)$',$file)) { header( "Content-Type: image/jpeg" ); } elseif (eregi('.gif$',$file)) { header( "Content-Type: image/gif" ); } elseif (eregi('.bmp$',$file)) { header( "Content-Type: image/bmp" ); } else { header( "Content-Type: image/png" ); } header ("Content-Length: ".filesize($mydir."/".$file)); readfile($mydir."/".$file); ?> Чем он лучше? да тем что он берет картинки не зависимо от названия, количества, расшерения. Если есть какие то идеи прошу помочь ;-) за ранее спасибо! Цитата Ссылка на сообщение Поделиться на других сайтах
gun 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 Я одно время пользовался этим скриптом Цитата Ссылка на сообщение Поделиться на других сайтах
Sywooch 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 (изменено) Автор Ну конечно можно и из этого сделать. Дело в том что я это все написал дабы многие поняли сам принцип!!! И это естественно не лучший вариант ротации А простейший. ЗЫ. Приду домой и посмотрю Ваш скрипт. ЗЫЫ, Хотя тут тоже самое все только смените код у файла random_image.php на свой!!! Изменено 25 января 2007 пользователем Sywooch Цитата Ссылка на сообщение Поделиться на других сайтах
Sywooch 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 Автор В этом топике, надеюсь кому то будет полезен, я попытался привести пример создения простенького модулы (Блока) Но если провести ряд манипуляций, можно сделать полноценный модуль со своим шаблоном!!! Тоесть если вы хотите реализовать что нибудь конкретное. Например модуль погоды. Берете грабер, Создаете файл модуля, по схеме выше, Добавляете несколько переменных для подгружения щаблона (например клонированного из статической странчки) Ставите переменные для линка чтот типа case "wether" : include ENGINE_DIR.'/modules/wether.php'; break; И все такое.... Тоесть все достаточно просто. Остается только немного поlключить фантазию. Главное не лениться и все получится. Цитата Ссылка на сообщение Поделиться на других сайтах
Rizza 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 Про какой код идет речь? Сдесь представлено два кода ;-) Цитата Ссылка на сообщение Поделиться на других сайтах
Sywooch 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 Автор В первом посте в код вместо этой строки: $random_image = "<center><img src=\"/r_images/".rand(1,10).".jpg\"></a></center>"; Вставьте свой код остальные операции посторите...... Цитата Ссылка на сообщение Поделиться на других сайтах
Rizza 0 Опубликовано: 25 января 2007 Рассказать Опубликовано: 25 января 2007 (изменено) После: Далее открываем файл engine\init.php Находим: include_once $tpl->dir.'/login.tpl'; После добавляем include_once ENGINE_DIR.'/modules/random_image.php'; двиг вообще отказывается работать... Может все заново, на основе моего скрипта все объясним? ;-) За ранее говорю вам СПАСИБО! Изменено 25 января 2007 пользователем Rizza Цитата Ссылка на сообщение Поделиться на других сайтах
Sywooch 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 Автор Да ведь просто все. Вот вам рабочий вариант с вашим кодом Все сделать как в первом посте только замените код в файле \engine\modules\random_image.php на приведенный ниже. <? if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } ob_start(); if (!isset($path) || empty($path)){ $mydir = "image_rnd"; } else { if ($dir = @opendir($path)){ $mydir = $path; } else { $mydir = "image_rnd"; } } if ($dir = @opendir($mydir)) { while (($file = readdir($dir)) !== false) { if (eregi('.(jpg|gif|png|jpeg|bmp|jpe)$',$file)) $files[] = $file; } closedir($dir); } srand(time()); $file = $files[rand()%sizeof($files)]; if (eregi('.(jpg|jpeg|jpe)$',$file)) { header( "Content-Type: image/jpeg" ); } elseif (eregi('.gif$',$file)) { header( "Content-Type: image/gif" ); } elseif (eregi('.bmp$',$file)) { header( "Content-Type: image/bmp" ); } else { header( "Content-Type: image/png" ); } echo "<img src=".$mydir."/".$file.">"; $random_image=ob_get_contents(); ob_end_clean(); ?> Цитата Ссылка на сообщение Поделиться на других сайтах
Sywooch 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 Автор Чуть не забыл: Создайте в корне сайта папку image_rnd В ней и будут храниться Изображения. Цитата Ссылка на сообщение Поделиться на других сайтах
Rizza 0 Опубликовано: 29 января 2007 Рассказать Опубликовано: 29 января 2007 ХМ.. терь вот что пишет: Изображение “http://site.ru/” не может быть показано, так как содержит ошибки. При чем это пишет не на месте где вставлено {random_image} а просто при заходе на сайт появляеться эта надпись и ничего более... Цитата Ссылка на сообщение Поделиться на других сайтах
podpolschik 0 Опубликовано: 29 января 2007 Рассказать Опубликовано: 29 января 2007 что-то страшно,особенно после последних комментариев, такое вставлять в движок... Цитата Ссылка на сообщение Поделиться на других сайтах
Sywooch 0 Опубликовано: 29 января 2007 Рассказать Опубликовано: 29 января 2007 (изменено) Автор Странно!!! Все работает отлично! Конечно я не могу гарантировать что у вас оно будет работать! Может вы просто невнимательно что то вписали? У меня работает отлично. Правда на локалхосте. А на сайте я использую свой вариант. появляеться эта надпись и ничего Вы не меняли код который я приводил 4 топика выше???? Скорее всего вы влепили туда вот эту гадость!!! header ("Content-Length: ".filesize($mydir."/".$file)); readfile($mydir."/".$file); Если не будет рыботать и далее я сделаю копии файлов! Изменено 29 января 2007 пользователем Sywooch Цитата Ссылка на сообщение Поделиться на других сайтах
Rizza 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 Все сделано как вы описали... один в один Цитата Ссылка на сообщение Поделиться на других сайтах
magasoft 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 предлагаю доработать и сделать картинки со ссылами на новость. т.е. к новости подгружаем картинку она попадает в ротатор, а ротаторе как ссылка на новость. хотя... есть мысль сделать это средствами самого скрипта. Цитата Ссылка на сообщение Поделиться на других сайтах
kolyma 2 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 Хотя бы сделать просто возможность формировать ссылки, которые вручную прописываются в коде ротатора Цитата Ссылка на сообщение Поделиться на других сайтах
magasoft 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 вобщем, если делать силами самого скрипта, предлагаю следущий вариант. 1. добавляем доп. поле новости текстовое, куда будем ставить ссылку на нужную нам для ротации картинку 2. в нужном месте ставим тег {custom} и делаем ему спец. шаблон 3. в шаблоне не кастома пишем <img scr="[xvalue_image]"> и он нам должен выводить ряд картинок. теперь осталось сделать ему ротацию, думаю в том же шаблоне кастома можно приделать пхп код, вы как думаете? Цитата Ссылка на сообщение Поделиться на других сайтах
gopal 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 а можно сделать вот пишеш дату: дату и время и в это время показывает картину а еще указываеш время и в это время показывает ту картинку? Цитата Ссылка на сообщение Поделиться на других сайтах
Rizza 0 Опубликовано: 1 февраля 2007 Рассказать Опубликовано: 1 февраля 2007 (изменено) Итак рабочая версия от Sywooch'a: 1. Создаем файл \engine\modules\random_image.php Со следующим содержанием: <? if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } if (!isset($path) || empty($path)){ $mydir = "image_rnd"; } else { if ($dir = @opendir($path)){ $mydir = $path; } else { $mydir = "image_rnd"; } } if ($dir = @opendir($mydir)) { while (($file = readdir($dir)) !== false) { if (eregi('.(jpg|gif|png|jpeg|bmp|jpe)$',$file)) $files[] = $file; } closedir($dir); } srand(time()); $file = $files[rand()%sizeof($files)]; $random_image = "<img src=".$mydir."/".$file.">"; ?> 2. Далее открываем файл engine\init.php Находим: include_once $tpl->dir.'/login.tpl'; После добавляем include_once ENGINE_DIR.'/modules/random_image.php'; 3. Далее открываем index.php в корневой папке и находим там: $tpl->set('{speedbar}', $tpl->result['speedbar']); После добавляем: $tpl->set('{random_image}', $random_image); 4. Картинки заливаем в папку "image_rnd", предварительно создав ее в корневой папке сайта! Изменено 1 февраля 2007 пользователем Rizza Цитата Ссылка на сообщение Поделиться на других сайтах
Just_Smile 0 Опубликовано: 4 февраля 2007 Рассказать Опубликовано: 4 февраля 2007 интересно а эти модификацый создают допольнительные запросы? Цитата Ссылка на сообщение Поделиться на других сайтах
Zdraff 4 Опубликовано: 5 февраля 2007 Рассказать Опубликовано: 5 февраля 2007 интересно а эти модификацый создают допольнительные запросы? нет. Цитата Ссылка на сообщение Поделиться на других сайтах
domeni 2 Опубликовано: 6 февраля 2007 Рассказать Опубликовано: 6 февраля 2007 а вот такой ещё вопрос, а как сделать чтоб несколько картинок одновременно было в ротации к примеру, 1 картинка и у неё цифры от 1 до 10 2 картинка у неё цифры от 11 до 20... т.е. залил 20 картинок, и не беспокоешься, что они повтоятся... как реализовать ? Цитата Ссылка на сообщение Поделиться на других сайтах
nils 0 Опубликовано: 11 февраля 2007 Рассказать Опубликовано: 11 февраля 2007 (изменено) Последний скрипт отображает картинки только на главной, в категориях не отображает. И путь до картинки имеет вид например такой http://сайт.ru/category/soft/image_rnd/6.jpg А должен быть http://сайт.ru/image_rnd/6.jpg Т.е. получается нужно создавать папки для каждой категории и помещать туда картинки. Какой в этом смысл. Изменено 11 февраля 2007 пользователем nils Цитата Ссылка на сообщение Поделиться на других сайтах
DyuS_Novikov 0 Опубликовано: 31 мая 2007 Рассказать Опубликовано: 31 мая 2007 Just_Smile, запросы чего? кто пойдет в магазин? к базе нет а вот к папке где лежат картинки да, при каждом обращении к странице сайта... ЖЕСТКОВАТО... nils, попробуй поставить путь относсительно твоего домена... Вместо: $mydir = "image_rnd"; вот это: $mydir = "/image_rnd"; гнезнаю сам не проверял, попробуй Цитата Ссылка на сообщение Поделиться на других сайтах
Гость Опубликовано: 7 июня 2007 Рассказать Опубликовано: 7 июня 2007 <#thank#> Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.