Спонсор поста – подержанные автомобили.
Во вчерашнем посте я писал про креативные иконки RSS. И у меня возникла идея, которую я практически сраpу реализовал. Суть идеи в том, чтобы иконка RSS каждый раз при загрузке страницы выбиралась разная, причем случайным образом. Это позволило бы немного оживить блог. А то динамические только баннеры
. Да и пользователям будет интереснее.
Суть реализации довольно проста. Ищем в сети креативные RSS иконки в формате *.png. Закачиваем их себе на хостинг в определенную папку. Себе я их закачал в папку http://terehoff.com/wp-content/uploads/rss. Прикидываем что и как с размерами иконок. А потом в сайдбар вместо статического кода
<a href=»http://feeds2.feedburner.com/terehoffblog» rel=»nofollow»>
<img src=»http://terehoff.com/rss.png» alt=»Подпишись на RSS!» title=»Подпишись на RSS!» /></a>
вставляем следующий php код.
<?php
$number = rand(0,16); //генерируем случайное число от 0 до 16 число
if ($number==1) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/3spheres.png\»
height=\»125\» width=\»150\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==2) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/bottle_side.png\»
height=\»75\» width=\»150\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==3) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/bottle_upright.png\»
height=\»140\» width=\»70\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==4) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/cantaloupe.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==5) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/halfsphere.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==6) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/hole_in_wall.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==7) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/lamp.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==8) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/matches.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==9) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/meat.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==10) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/notebook.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==11) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/orange.png\»
height=\»125\» width=\»125\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==12) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/printer.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==13) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/sandwich.png\»
height=\»125\» width=\»125\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==14) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/speaker.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==15) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/sucker.png\»
height=\»259\» width=\»116\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
if ($number==16) {echo «<a href=\»http://feeds2.feedburner.com/terehoffblog\» rel=\»nofollow\»> <img src=\»http://terehoff.com/wp-content/uploads/RSS/toast.png\»
height=\»100\» width=\»130\» alt=\»RSS подписка!\» title=\»Подпишись на RSS!\» /></a>»;}
?>
Я не особо силен в php, но благодаря инжененому образованию и интернету сумел вот этот скриптец накидать. Вроде работает и иконки RSS меняются. Конечно, можно было бы написать скрипт покороче, использовать цикл, но это не сегодня
.
Можно пойти дальше и привязать каждую конкретную иконку ко времени суток. Например в обед это сендвич. Утром стакан с соком. Фантазировать можно долго. Есть у меня еще идея перерисовать очкарика из шапки блога и сделать его спящим, сидящим за компом, пьющим пиво, пишущим диссертацию, гладящего кота. И кота так же использовать соответственно. Все это привязать ко времени. Утром очкарик с котом завтракает, в 10 утра уже работает, а кот спит, вечером очкарик пьет пиво, а коту достается рыбка… Пока что не нашел приемлимого варианта, кто бы мне перерисовал очкарика с котом вместе. Если кого подскажете, буду очень признателен.
На десерт прикольное видео с забавным животным, которое просто балдеет от манипуляций над ним.
Постовой. Чугунный радиатор – это для практичных людей.
В рамках Олимпийского конкурса я начал вести блог под названием Купюрочки, на страницах которого я делюсь своим опытом заработка на рекламе в Интернет. Можете подписаться на обновления блога через или на чтобы регулярно получить свежие статьи.
блогосфера google Блоги Интервью Yandex интересно почитать Wordpress трафик twitter продвижение SEO эстафета заработок внутренняя оптимизация внешние ссылки PageRank аспирантура контент ссылочное ранжирование seominds дизайн seozavr монетизация буржунет АП ТИЦ гостевой пост seopult rotaban биржи авторитетность интернет Автомобили Релевантность покупки фото Рейтинг блогов фарма Бартер статистика семинар плагины реклама отдых Америка Креатив ТИЦ бан Конкурсы Gmail баннер эксперимент социальные закладки Google Analytics LiveInternet блог English Поисковики поиск позитив цель miralinks Sape копирайтинг PR seo штучки youtube Flash php JavaScript Yahoo URL Анна Лебедева wordcamp ftp skype vibe wikipedia pontiac конверт закладки контекст блоггинг факторы ранжирования Seo ошибки счетчики RSS DMOZ РОМИП манимейкерство FAQ блоггеры dofollow траст
kotik (69 comments.) апреля 22, 2009 в 9:27 дп
Спасибо за подсказку. попробую применить у себя.
felix (4 comments.) апреля 22, 2009 в 9:49 дп
Всё можно сделать намного проще.
Например, читаем все файлы .PNG из директории, в которой у нас лежат наши логотипы RSS и заносим в массивs, затем перемешиваем функцией shuffle и выводим первый элемент массива (то есть, уже случайный).
Можно и в шаблон смело вставлять, так как код занимает пару строк всего.
И загружается быстро, не то, что плагин подключать.
felix (4 comments.) апреля 22, 2009 в 9:56 дп
И, кстати, выводить проще так:
echo ‘‘;
Место экономит
P.S. Ухх… понесло меня. Может быть, свой вариант напишу вечерком, тогда поделюсь.
felix (4 comments.) апреля 22, 2009 в 9:57 дп
Эммм… HTML код не прошёл в комментарий, удали его, пожалуйста.
Сергей М. (12 comments.) апреля 22, 2009 в 10:38 дп
Зачем столько текста
Переименуй все иконки так, чтобы они начинались с, например, feed, потом шла цифра, потом расширение – feed1.png, feed2.png… А потом можно выводить картинку еще проще.
rand, конечно, можно использовать и так – но у тебя пропущен вариант, когда он выдает 0. Надо проще сделать так: rand()%16+1. 16 – потому что это остаток от деления, +1 – чтобы начиналось с 1. Получится число от 1 до 16.
Кроме того, повторяющиеся куски надо вынести за пределы обработки. А в echo вместо двойной кавычки использовать одинарную – чтобы не надо было экранировать двойные кавычки в хтмл с помощью слеша – но в случае оптимизации и это не понадобится ))
Т.к. изображения у нас будут разные по размеру, то их лучше привести к единому виду. Ну, или можно не указывать размеры в имге, тогда они нормально отобразятся во всех браузерах – просто при незагрузке изображения им не будет определен размер (тут есть еще вариант – держать имена файлов и их размеры в массиве и так же обрабатывать в цикле).
rel=»nofollow» на ссылки на RSS ставить нельзя – они также использутся поисковиками для индексирования контента, а от вас ничего не убудет от ссылки на фидбернер.
Да, и куски кода в блоге надо оформлять в <code> если одна строка или <pre><code> – иначе будут искажаться кавычки и код, скопированный с блога не будет работать в пхп (а еще лучше поставить мой типограф ))))
<a href="http://feeds2.feedburner.com/terehoffblog"><img src= rel="nofollow" "http://terehoff.com/wp-content/uploads/RSS/feed<?php
$number = rand()%16+1;
echo $number;
?>
.png" alt="RSS подписка!" title="Подпишись на RSS!" /></a>
Ну а если нужны разные размеры изображений, то тут чуть сложнее, но тоже за пять минут могу написать.
Terehoff (1123 comments.) апреля 22, 2009 в 11:04 дп
Сергей М. – дело в том, что все иконки разных размеров. Есть вытянутые, есть сплющенные. Как бы сделать автоматический подбор размера, чтобы картинка умещалась в сайдбаре? Есть картинки 100х300, есть 300х100. Если подскажете как тут поступить, буду очень признателен.
ilja (2 comments.) апреля 22, 2009 в 1:14 пп
Камрад, ты извини, но решение, IMHO, дубовое.
Не лучше-ли так:
<?php
unset($_rss_icons);
$i = 0;
// считываются все картинки из директории RSS
$_dir = opendir($_SERVER["DOCUMENT_ROOT"]."/wp-content/uploads/RSS");
while ( false !== ( $filename = readdir($_dir) ) ) {
if ( $filename != "." and $filename != ".." and $filename != ".htaccess" and !is_dir($_SERVER["DOCUMENT_ROOT"]."/wp-content/uploads/RSS/".$filename) ) {
$sizes = @getimagesize($_SERVER["DOCUMENT_ROOT"]."/wp-content/uploads/RSS/".$filename);
if ( $sizes[2] == 1 or $sizes[2] == 2 or $sizes[2] == 3 ) {
$_rss_icons[$i]["src"] = "/wp-content/uploads/RSS/".$filename;
$_rss_icons[$i]["width"] = $sizes[0];
$_rss_icons[$i]["height"] = $sizes[1];
$i++;
}
}
}
// генерится случайный индекс элемента массива
$number = rand(0,(count($_rss_icons)-1));
// выводится картинка со ссылкой
echo '
';
?>
В итоге копируешь любые картинки, с любыми названиями в папку RSS, а в код уже не лазаешь.
Аня (12 comments.) апреля 22, 2009 в 1:17 пп
Классная задумка, спасибо!
Terehoff (1123 comments.) апреля 22, 2009 в 1:27 пп
ilja – идея хорошая, спасибо. Вот что значит знание синтаксиса php. Подскажи, что мне писать в
// генерится случайный индекс элемента массива
$number = rand(0,(count($_rss_icons)-1));
// выводится картинка со ссылкой
echo ‘
< тут>
‘;
?>
Попробовал и не совсем получилось(((
ilja (2 comments.) апреля 22, 2009 в 1:28 пп
Ну вот, ни тут, ни на vott.ru код нормально не вставить.
Ссылка на исходник:
http://ilja.su/rand_rss.txt
Terehoff (1123 comments.) апреля 22, 2009 в 2:01 пп
ilja – большое спасибо за помощь. С меня постовой
Kareg (53 comments.) апреля 22, 2009 в 2:15 пп
Охохо. Буду пробовать, надо набрать иконок поинтереснее где-нибудь
Terehoff (1123 comments.) апреля 22, 2009 в 2:22 пп
Kareg – сначала иконки приведи к одинаковому размеру по ширине, чтобы они не выходили за рамки размеров сайдбара. Это лучше сделать ручками в фотошопе.
Terehoff (1123 comments.) апреля 22, 2009 в 3:33 пп
ilja еще раз обновил скрипт, теперь у него есть возможность кеширования и ужимания RSS иконок до нужного размера. Респект большой ему!
SEO-ипотечник (1 comments.) апреля 22, 2009 в 3:38 пп
А я себе еще в феврале так сделал.
Terehoff (1123 comments.) апреля 22, 2009 в 4:06 пп
SEO-ипотечник – мы с тобой чуется мыслим одинаково. Ну чтож, теперь два блога с меняющимися иконками RSS. Можть кому еще эта идея в голову придет
Stalser (7 comments.) апреля 22, 2009 в 8:20 пп
Спасибо за идею! В ближайшее время буду искать интересные иконки, и реализую у себя все это! Сегодня наткнулся на один сайт с меняющимся дизайном при каждой перезагрузке. Оригинально, но, пожалуй остановлюсь на иконках
Zver (10 comments.) апреля 24, 2009 в 1:42 пп
Круто, спасибо. Давно искал такой скрипт, но правда не для прокрутки рсс иконок, а для прокрутки банеров
нашёл наконец-то
Бомж Без Колес (35 comments.) апреля 27, 2009 в 8:27 дп
Ужоснах! Кто писал этот код на PHP? Так некрасиво и объемно!
Елена (5 comments.) мая 20, 2009 в 7:50 пп
Уффф, я почти все поняла, кроме одного: куда вставлять пхп-код? Мой блог на блогспоте. Я потыкала что-то в «изменить хтмл», и… никаких результатов. Может вы подскажите?
Terehoff (1123 comments.) мая 20, 2009 в 9:07 пп
Елена – скорее всего не получится. Точно не могу ответить, с блогспотом не экспериментировал еще. Попробуй обратиться к http://100baksov.blogspot.com/, может он подскажет
Елена (5 comments.) мая 22, 2009 в 7:28 дп
Terehoff, спасибо за совет. За подсказки там по 100 баксов не берут? )
Terehoff (1123 comments.) мая 22, 2009 в 8:32 дп
Елена – как договоришься. Автор блога товарищ своеобразный, но адекватный. Думаю тебе подскажет
rssicons (1 comments.) марта 11, 2010 в 11:39 дп
Предлогаю Вашу просмотру проект РСС иконок
http://rssicons.pl/ru/main-page
Больша коллекция красивых иконок РСС. Каждый день добавляется новая иконка.