Есть ли способ интегрировать vBulletin в PHP? - PullRequest
1 голос
/ 17 августа 2011

Чего я хочу добиться, так это интегрировать vBulletin в страницу PHP или что-то еще. Я не хочу заново создавать скин, похожий на сайт, я более или менее хочу, чтобы форум был на 100% интегрирован с сайтом, теперь очевидно, что скин должен был бы измениться и т. Д., Чтобы он выглядел как часть, но как бы я интегрировать это, если бы фреймы не справились бы с этим, не так ли? Росс

Ответы [ 2 ]

5 голосов
/ 07 сентября 2011

Может быть проще интегрировать вашу страницу PHP в vBulletin, чем пытаться интегрировать vBulletin в вашу страницу PHP.

Затем вы можете просто сделать что-то вроде этого в файле PHP в корне вашего форума (или изменить пути по необходимости):

// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'myscript'); 

// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array('MYPAGE');

// pre-cache templates used by specific actions
$actiontemplates = array();

// ########################## REQUIRE BACK-END ############################
require_once('./global.php');

// ... your PHP code goes here
// ... you can use vBulletin's database classes and security mechanisms in your page
// ... you can also use vBulletin's headers/footers and other templates too
// example (assuming you've already created a template called MYPAGE):

eval('print_output("' . fetch_template('MYPAGE') . '");');
1 голос
/ 28 августа 2011

Самый распространенный способ сделать это - переопределить переменные $header и $footer в плагине global_setup_complete или аналогичном.

Например, если у вас уже есть файл header.php из другой системы:

ob_start();
include('/path/to/your/header/file.php');
$header = ob_get_contents();
ob_end_clean(); 

ob_start();
include('/path/to/your/footer/file.php');
$footer = ob_get_contents();
ob_end_clean();

Это приведет к загрузке вывода этих файлов в переменные $header и $footer.

...