Crossroads » BLOG » Записки чайника » Добавляем код Linkfeed на vBulletin 4.X

Добавляем код Linkfeed на vBulletin 4.X

  • Dislike
  • 0
  • Like

Добавляем код биржи Linkfeed на страницы форума на движке vBulletin 4.X.
Рассмотрим вариант, в котором на каждой странице у нас не более десяти ссылок. Рекомендуется не выводить их всей кучей, а делить на блоки по 1-2 ссылки. Распихать в разные места одной страницы форума десять ссылок по одной довольно проблематично, по этому создадим пять блоков по две ссылки.
Загружаем скаченную из своего профиля на бирже папку в корень сайта и выставляем на неё права 777. Далее заходим в админку своего форума и пишем модуль (продукты и модули / создать новый модуль) следующего содержания:

define('LINKFEED_USER', 'Ваш ID');
require_once($_SERVER['DOCUMENT_ROOT'].'/'.LINKFEED_USER.'/linkfeed.php');
$o['host'] = 'www.domain.com';
$o['force_show_code'] = true;
$o['charset'] = 'UTF-8';
$linkfeed = new LinkfeedClient($o);
$linkfeed1 = $linkfeed->return_links(2);
$linkfeed2 = $linkfeed->return_links(2);
$linkfeed3 = $linkfeed->return_links(2);
$linkfeed4 = $linkfeed->return_links(2);
$linkfeed5 = $linkfeed->return_links(2);

$preRegister['linkfeed1'] = $linkfeed1;
$preRegister['linkfeed2'] = $linkfeed2;
$preRegister['linkfeed3'] = $linkfeed3;
$preRegister['linkfeed4'] = $linkfeed4;
$preRegister['linkfeed5'] = $linkfeed5;

vB_Template::preRegister('navbar', $preRegister);
vB_Template::preRegister('ad_navbar_below', $preRegister);
vB_Template::preRegister('ad_footer_start', $preRegister);
vB_Template::preRegister('footer', $preRegister);

unset($o); 

Хук (местоположение модуля) ставим на global_start. Если у вас vBulletin Sute с активной CMS, то хук на global_state_check. Вместо Ваш ID вписываем свой идентификатор на бирже. А вместо www.domain.com пишем адрес своего сайта. В строке
$o['charset'] = 'UTF-8'; 

указываем свою кодировку. Она же должна быть указана в настройках площадки на бирже.
Строки с
$linkfeed1 = $linkfeed->return_links(2); 

по
$linkfeed5 = $linkfeed->return_links(2); 

определяют пять переменных. return_links(2) определяет количество ссылок для каждой переменной. В нашем случае две ссылки. Строки vB_Template определяют шаблоны, в которые мы будем выводит ссылки. В нашем случае это четыре шаблона, но вы можете выбрать другие.
Включаем модуль (модуль включен: ДА) и сохраняем. В выбранные шаблоны, в нужное нам место (или места) вписываем переменные {vb:raw linkfeed1}, {vb:raw linkfeed2} и так далее. В отдельное место одну переменную. Можно написать так:
<div align="center">{vb:raw linkfeed1}</div>

Тогда ссылки будут по центру.
Если у вас на сайте установлен VBSEO, то правим .htaccess. Находим в нём строку
RewriteRule ^(.+)$ vbseo.php [L,QSA]

И заменяем её на
RewriteRule ^(.+)$ vbseo.php?vbseourl=$1&uri=%{REQUEST_URI} [L,QSA]

После того, как закончили с шаблонами, открываем любую страницу и (для Firefox) правым кликом открываем её исходный код. В нужных местах должны появиться тэги вроде этих:
<!--6h472co5--> <!--6h472co5-->

Если их нет, то проверяем всё ещё раз. Где-то накосячили. Если всё работает как надо, то в модуле комментируем строку
$o['force_show_code'] = true; 

Добавляем в начало два слэша, чтоб было так:
//$o['force_show_code'] = true; 

Либо меняем значение true на false.
PS: Ссылка в шаблоне ad_navbar_below не будет выводиться на главной странице форума. Имеет смысл либо поместить её в другой шаблон (в тот же navbar) либо разместить её в forumhome, добавив в шаблон переменную, которую добавили в ad_navbar_below, а в модуль следующую строку:
vB_Template::preRegister('FORUMHOME', $preRegister); 

Like Dislike




Tags: vBulletin, PHP


 
  • Creative Commons Licence
  • Norton Safeweb
  • Website Uptime Monitoring By ServiceUptime.com