VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
- это будет подстановщик
2) В нужный шаблон вставил:
HTML Code:
{vb:raw template_hook.slider}
- Сюда выведется результат работы модуля
3) Создал модуль с кодом:
PHP Code:
$sql = "SELECT *
FROM `forum_blog` AS t1
LEFT JOIN `forum_blog_text` AS t2 ON t1.`blogid` = t2.`blogid`
ORDER BY t1.`dateline` DESC
LIMIT 1";
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
$template_hook['slider'] .= $templater->render(); //опытным путем я установил, что данный массив распарсивается при генерации страницы и заменяет конструкцию а ля {vb:raw template_hook.slider}
Местоположение "global_start".
Вывод работает.
"А теперь вопрос, уважаемые знатоки!"
Почему в этом же коде не работает парсинг bb-кода:
PHP Code:
$bb = new vB_BbCodeParser;
$slider['pagetext'] = $bb->do_parse($row['pagetext']);
Пишет, что нет такого класса "vB_BbCodeParser".
Естественно, что первой мыслью было:
PHP Code:
require_once(DIR . '/includes/class_bbcode.php');
в этом случае система жалуется, что не знает метода "query_read_slave"("class_bbcode.php"[250]).
Подключать API заново - это криво.
Как сделать нормально?
Доп. материалы https://www.vbulletin.com/docs/html?...rsion=40105604 http://members.vbulletin.com/api/
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1707
Репутация в разделе: 1192
1
frodomogoni, попробуй подключить global.php
@frodomogoni
Продвинутый
Join Date: Apr 2011
Location: Днепропетровск, Украина
Posts: 7
Версия vB: 4.0.x
Пол:
Reputation:
Опытный 46
Репутация в разделе: 45
0
SMak044, спасибо!
И того, общий выход модуля выглядит след. образом:
PHP Code:
require_once('global.php');
require_once('includes/class_bbcode.php');
//объявляем новый объект класса парсера
$parser = new vB_BbCodeParser($vbulletin, fetch_tag_list());
//делаем выборку из бд
$sql = "SELECT *
FROM `forum_blog` AS t1
LEFT JOIN `forum_blog_text` AS t2 ON t1.`blogid` = t2.`blogid`
ORDER BY t1.`dateline` DESC
LIMIT 1";
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
//распихиваем получившуюся выборку. Действие очень условное в надобности, скорее для наглдности
$slider['blogid'] = $row['blogid'];
$slider['title'] = $row['title'];
//обращаемся к методу касса парсера
$slider['pagetext'] = $parser->parse( $row['pagetext']);