Помогите плз у меня токая проблема
нужно чтобы на одной из страниц сайта в блоке выводились в случайном порядке баннеры.
как мне это сделать помогите плиз????????????????
А не за "круто" для этой задачи использовать Views? Может проще будет написать кокой-то php код для рандомного вывода. Например
Согласен, просто недавно делал именно через views, но у меня ситуация другая была, а тут действительно пхп надо, вот такой вариант, только что написал, ну раз написал, то уже пусть будет может кому пригодиться:)
А не за "круто" для этой задачи использовать Views? Может проще будет написать кокой-то php код для рандомного вывода. Например
Согласен, просто недавно делал именно через views, но у меня ситуация другая была, а тут действительно пхп надо, вот такой вариант, только что написал, ну раз написал, то уже пусть будет может кому пригодиться:)
Ваш код, если я ничего не путаю, выводит картинки.
А баннер - это картинка + ссылка.
Ссылки в вашем коде отсутствуют.
Только сейчас увидел это сообщение, да вы правы, вот немного подправил, теперь он больше по принципу как код от SirAndriy, мож кому и надо будет:
<?php
/* задайте путь к катинки банера-|-адрес сайта на который ведет баннер "-|-" - служат для разделения значений Пример: ./baners/picture-39731.png-|-http://drupal.ru можно задать еще третий параметр он будет в качестве атрибутов title и alt, он является необязательним пример: /baners/picture-39731.png-|-http://drupal.ru-|-Drupal Россия */
Комментарии
Для вывода случайного баннера через Views:
Sort criteria -> Global: Random
А не за "круто" для этой задачи использовать Views? Может проще будет написать кокой-то php код для рандомного вывода. Например
<?php
switch ( rand(0,2) ) { // генерим случайное число от 0 до 2
case 0:
echo "<img src='sites/default/files/P1010026.JPG' >"; // выводим свой баннер
break;
case 1:
echo "<img src='sites/default/files/P1010027.JPG' >";
break;
case 2:
echo "<img src='sites/default/files/P1010023.JPG' >";
break;
} ?>
Согласен, просто недавно делал именно через views, но у меня ситуация другая была, а тут действительно пхп надо, вот такой вариант, только что написал, ну раз написал, то уже пусть будет может кому пригодиться:)
<?php
//католог з банерами
$path = './baners/'; //Сканируем каталог
$res = scandir($path); //Допустимее розширения
$white_list = array('jpg', 'jpeg', 'png', 'gif', 'bmp');
foreach(
$res as $img) {//проверка розшерений по $white_list
$extension = pathinfo($img, PATHINFO_EXTENSION);
if(in_array($extension, $white_list))
{
$full_img[] = $path.$img;
}
} //перемешуем дание
shuffle($full_img); //вивод
print '<img src="'.$full_img[0].'" />';
?>
Ваш код, если я ничего не путаю, выводит картинки.
А баннер - это картинка + ссылка.
Ссылки в вашем коде отсутствуют.
Спасибо!!!
только у меня сайт на локальном серваке как правильно указать путь
В скрепте SirAndriy так:
./sites/default/files/P1010026.JPG
если мой то создайте в корне сайта каталог baners, и закиньте туда банери.
Спасибо!!!
Только сейчас увидел это сообщение, да вы правы, вот немного подправил, теперь он больше по принципу как код от SirAndriy, мож кому и надо будет:
<?php
задайте путь к катинки банера-|-адрес сайта на который ведет баннер
"-|-" - служат для разделения значений
Пример: ./baners/picture-39731.png-|-http://drupal.ru
можно задать еще третий параметр он будет в качестве атрибутов title и alt, он является необязательним
пример: /baners/picture-39731.png-|-http://drupal.ru-|-Drupal Россия
*/
'./baners/avatar2364.jpg-|-http://google.com',
'./baners/picture-39731.png-|-http://drupal.ru-|-Drupal Россия',
'./baners/picture-42274.jpg-|-http://drupal.org',
);
$size = count($baners) - 1;
$num = rand(0, $size);
$img_src = explode('-|-', $baners[$num]);
if(@$img_src[2]) {
$title = 'title="'.$img_src[2].'"';
$alt = 'alt="'.$img_src[2].'"';
} else {
$title = '';
$alt = '';
}
echo '<a '.$title.' href="'.$img_src[1].'" '.$alt.'><img src="'.$img_src[0].'"></a>';
?>
Уже написал нечто похожее сам
'<a href="http://yandex.ru/"><img src="/files/b636ac5ea4ce.gif" /></a>',
'<a href="http://google.ru/"><img src="/files/banner_160-200.gif" /></a>',
'<a href="http://rbc.ru/"><img src="/files/night.jpg" /></a>',
);
shuffle($banners);
foreach ($banners as $banner) {
echo "$banner ";
}
?>