Форум русской поддержки Joomla!® CMS
24.07.2017, 20:45:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Случайное изображение фона из заданной папки. Как?

 (Прочитано 5227 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ruppert
Осваиваюсь на форуме
***

Репутация: +0/-2
Offline Offline

Сообщений: 54


« : 05.04.2014, 23:30:40 »

Всем привет!
Господа, кто знает, как правильно прописать в шаблоне так, чтобы из заданной папки каждый раз при перезагрузке страницы выбиралось рандомное изображение фона?
Для конкретного изображения я пишу примерно такую конструкцию в template.css:

{background:#fff url(http://ххх.ru/.../images/1.png); background-position:left top; background-repeat:repeat; background-attachment:fixed;} Это работает нормально.

А хотелось бы, чтобы из нескольких имеющихся в папке IMAGES изображений, выбиралось случайное. Как это правильно прописать? Не получается у меня чего то... Прошу подсказку!

Ну и попутно: подскажите, как прописать относительную ссылку вместо абсолютной? Тоже чего то не хочет работать, как не стараюсь.
« Последнее редактирование: 06.04.2014, 00:19:56 от ruppert » Записан
Fedor Vlasenko
Профи
********

Репутация: +703/-6
Offline Offline

Пол: Мужской
Сообщений: 3834


Все начинается с Value


« Ответ #1 : 06.04.2014, 00:56:11 »

Ищу расширение изменяющее background сайта при обновлении странички
Записан
ruppert
Осваиваюсь на форуме
***

Репутация: +0/-2
Offline Offline

Сообщений: 54


« Ответ #2 : 08.04.2014, 04:15:27 »

Спасибо. Решение рабочее.
Записан
b2z
Support Team
*****

Репутация: +737/-0
Offline Offline

Пол: Мужской
Сообщений: 7738


Разраблю понемногу


« Ответ #3 : 10.04.2014, 10:28:26 »

На всякий случай скопирую решение сюда


Еще вариант создаете в папке шаблона папку myimg. Туда кидаете файлы картинок (в примере с расширением *.jpg)
Здесь в примерах, файл куда вставляете код index.php лежит в корне папки шаблона. В ином случае нужно переопределить строку __DIR__.DS.'myimg' обозначающую путь к папке с картинками.
Рандомный вывод
Код
<?php
$sdir = array();
$files = scandir(__DIR__.DS.'myimg');
foreach ($files as $i => $entry)
{ if ($entry != '.' && $entry != '..' && fnmatch('*.jpg', $entry)) $sdir[] = $entry;}
?>
<body style="background-image:url(<?php echo '/templates/'.$this->template.'/myimg/'.$sdir[array_rand($sdir)]; ?>)">
Вывод по порядку
Код
<?php
$sdir = array();
$files = scandir(__DIR__.DS.'myimg');
foreach ($files as $i => $entry)
{ if ($entry != '.' && $entry != '..' && fnmatch('*.jpg', $entry)) $sdir[] = $entry;}
$session = JFactory::getSession();
$img_nom = $session->get('img_nom', 0);
$link = $sdir[$img_nom];
$img_nom = ($img_nom == count($sdir)-1)? 0: $img_nom + 1;
$session->set('img_nom', $img_nom);
?>
<body style="background-image:url(<?php echo '/templates/'.$this->template.'/myimg/'.$link; ?>)">
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet