Wem es aufgefallen ist. Auf den meisten unserer Drupal Seiten verlinkt der eintrag „Kommentar (x)“ zu einem entsprechenden Topic in unserem vBulletin gestützten Community Forum.
Unter spiffytek.com haben das beispielsweise die Blog einträge.
Nun ist Ihnen sicherlich ebenfalls bekannt das es für Drupal keine ordentliche Brücken bzw. integrations Plugins für zwischen Drupal und vBulletin gibt.
Und wir haben uns auch nicht diese mühe gemacht, sondern haben lediglich die Bordmittel von vBulletin eingesetzt und ein wenig PHP in Drupals Template Datei(en) eingefügt.
Zu aller erst, damit wir unseren Content in das Forum bekommen nutzen wir vBulletins RSS Import funktion damit die entsprechenden diskussionsthreads erstellt werden.
Nun verlinken wir anhand der gleichen Titel (Thread/Node) von Drupal zu vBulletin mit folgendem basis code, den wir in der „themes.php“ implementieren:
[code lang=“php“]
function vbcomment($input){
// #################### DEFINE IMPORTANT CONSTANTS #######################
$vb_db_server = "";
$vb_db_name = "";
$vb_db_user = "";
$vb_db_pass = "";
$vb_db_prefix = "";
$vb_base_url = "http://forum.example.com/";
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
// Normalizing
$input = htmlspecialchars_decode($input, ENT_QUOTES);
$input = utf8_decode($input);
// MySQL + Query
$vb_conn = mysql_connect($vb_db_server, $vb_db_user, $vb_db_pass) or die("Connection Failure to Database");
mysql_select_db($vb_db_name) or die ("Database not found.");
$query = sprintf("SELECT threadid, replycount FROM %sthread WHERE title = ‚%s‘ LIMIT 0 , 30", $vb_db_prefix, mysql_real_escape_string($input));
$vb_query = mysql_query($query);
$vb_query = mysql_fetch_array($vb_query, MYSQL_ASSOC);
mysql_close($vb_conn);
// Simplify
$vb_threadid = $vb_query["threadid"];
$vb_replycount = $vb_query["replycount"];
$vb_final_url = $vb_base_url."showthread.php?t=".$vb_threadid;
// Return
if (empty($vb_threadid)){
return false;
}
else{
return array("url" => $vb_final_url, "count" => $vb_replycount);
}
}
[/code]
In der entsprechenden „node.tpl.php“ nutzen wir diese funktion wie folgt:
[code lang=“php“]<?php $vb_comment = vbcomment($title); ?>[/code]
Und dort wo der Kommentarlink erscheinen soll setzten wir
[code lang=“php“]<?php if($vb_comment){ ?><p><img src="/images/IHRICONHIER.png" alt="Kommentare (<?php echo $vb_comment["count"]; ?>)"><a href="<?php echo $vb_comment["url"]; ?>"><strong>Kommentare</strong> (<?php echo $vb_comment["count"]; ?>)</a></p><?php } ?>[/code]
[code lang=“php“]<img src="/images/IHRICONHIER.png" alt="Kommentare (<?php echo $vb_comment["count"]; ?>)">[/code]
können Sie selbsverständlich ihren bedürfnissen anpassen oder weglassen.