Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Установка кода на различные движки (http://forum.sape.ru/forumdisplay.php?f=26)
-   -   Вывод ссылок в виде контекстной рекламы! (http://forum.sape.ru/showthread.php?t=21855)

Ufaweb 06.11.2008 04:36

Вывод ссылок в виде контекстной рекламы!
 
Дурная голова рукам покоя не дает :)

Сегодня будем маскировать сапоссылки под блок контекстных объявлений по типу Бегуна.

Все помним код непосредственного вывода ссылок? Напомню:
PHP код:

echo $sape->return_links

Итак, вспоминаем, куда это писали писали (в шаблон сайта, скорее всего), находим и заменяем на следующий код:
PHP код:

$sape_block '';
for(
$i=0$i<count($sape->_links_page); $i++){
    
$sape_text $sape->return_links(1);
    
$sape_link preg_replace('~.*<a[^>]+href="http://([^/\s"]+)[^\s"]*"[^>]*>.*~si''$1'$sape_text);
    
$sape_block.= '<tr valign="top"><td width="202" style="border:#cccccc solid 2px; padding:2px; margin:1px"><img src="http://images.websnapr.com/?url='.$sape_link .'" width="202" height="152" alt="Изображение '.$sape_link .'" align="left" /><span style="text-transform:capitalize">'.$sape_text.'</span></td></tr>';
}
if(
$sape_block!='')
    print 
'<table>'.$sape_block.'</table>';
else print 
$sape->return_links(); 

Объясняю популярно, что здесь есть.
  • Создается переменная $sape_block и сразу обнуляется (а вдруг таковая уже существует?).
  • Запускается циклический перебор ссылок, доступных к выводу (их число count($sape->_links_page)).
  • В каждом шаге (итерации) цикла к тексту внутри переменной $sape_block добавляется интересный html-код, содержащий строку таблицы, в которой имеется, кроме самой ссылки и околоссылочного текста, картинка - скриншот сайта-акцептора :). В этом-то и вся изюминка! Сервис скриншотов бесплатный. При первой генерации мини-скриншота нам показывают временную картинку-заглушку, а через несколько секунд доступна уже готовая картинка. Она сохраняется на их сервере надолго.
  • После окончания цикла скрипт проверяет, заполнена ли переменная $sape_block текстом. Если заполнена, то выводится целая табличка, если нет, то ничего не выводится? кроме заглушки для робота сапы (вот здесь могут возникнуть проблемы при добавлении площадки. Добровальцы - в личку!). С уже рабочей площадкой проблем 100% не будет.
С настройкой дизайна, я думаю, разберетесь. Я привел код вертикального блока. Для горизонтального меняем
PHP код:

$sape_block '';
for(
$i=0$i<count($sape->_links_page); $i++){
    
$sape_text $sape->return_links(1);
    
$sape_link preg_replace('~.*<a[^>]+href="http://([^/\s"]+)[^\s"]*"[^>]*>.*~si''$1'$sape_text);
    
$sape_block.= '<tr valign="top"><td width="202" style="border:#cccccc solid 2px; padding:2px; margin:1px"><img src="http://images.websnapr.com/?url='.$sape_link .'" width="202" height="152" alt="Изображение '.$sape_link .'" align="left" /><span style="text-transform:capitalize">'.$sape_text.'</span></td></tr>';
}
if(
$sape_block!='')
    print 
'<table>'.$sape_block.'</table>';
else print 
$sape->return_links(); 

на
PHP код:

$sape_block '';
for(
$i=0$i<count($sape->_links_page); $i++){
    
$sape_text $sape->return_links(1);
    
$sape_link preg_replace('~.*<a[^>]+href="http://([^/\s"]+)[^\s"]*"[^>]*>.*~si''$1'$sape_text);
    
$sape_block.= '<td width="202" style="border:#cccccc solid 2px; padding:2px; margin:1px"><img src="http://images.websnapr.com/?url='.$sape_link .'" width="202" height="152" alt="Изображение '.$sape_link .'" align="left" /><span style="text-transform:capitalize">'.$sape_text.'</span></td>';
}
if(
$sape_block!='')
    print 
'<table><tr valign="top">'.$sape_block.'</tr></table>';
else print 
$sape->return_links(); 

Добавлено через 1 минуту
Цитата:

Сообщение от Ufaweb (Сообщение 300773)
__________________

Примерчики:
http://asus-book.ru/ (слева)
http://neo-book.ru/ (справа)

Размер изображения меняем в коде вывода.

Добавлено через 3 минуты
Полезный бонус: текст ссылки ВСЕГДА будет написан с большой буквы. CSS в помощь :)

rusteam 06.11.2008 04:39

Видел действие на примере.. Круто, как всегда..

админ 06.11.2008 04:47

мастер! :)

Leonardo 06.11.2008 10:01

респект.. хотябы потому, что, видно на скрине, что за сайтег, на который ссылаешься, его диз и примерную нарправленность, серьёздность сайта.

нужно поробоать Ufaweb, спасибо за торчество

VoiD_BY 06.11.2008 10:07

шикаааарно! пошел пробовать :)

Indzag 06.11.2008 10:15

круто... щас заценим... Респект!))

Wink 06.11.2008 10:19

Ufaweb, c картинками палишься. Попробуй вот этим сервисом превьюшки генерировать http://thumbnails.iwebtool.com Там те же самые 200х150 пикселей, только они свой копирайт в картинку не добавляют.

VoiD_BY 06.11.2008 10:20

не выводит у меня чото :(

Kaa 06.11.2008 10:23

Вместо этого:
Код:

<span style="text-transform:capitalize">'.$sape_text.'</span>
лучше это:
Код:

<p class="sape1">'.$sape_text.'</p>
а перед этим еще вот это вывести:
Код:

<style type="text/css">
.sape1:first-letter { text-transform: capitalize; padding: 0px; }
</style>

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

Добавлено через 1 минуту
Wink, если картинку просто параметрами сжать в 2-3 раза (ширину/длину меньше поставить), то там копирайт уже фиг разглядишь :D

Leonardo 06.11.2008 10:27

Цитата:

Сообщение от VoiD_BY (Сообщение 300848)
не выводит у меня чото :(

аналогично..из 5 ссылок добавилось только 1 картинака и + иероглифы какие-то :)


Часовой пояс GMT +3, время: 17:40.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.