Drupal-Inhalte im SixCMS anzeigen
olav — Fri, 10/31/2008 - 14:33
In Fortsetzung unseres Beispiels aus dem letzten Abschnitt wollen wir uns zunächst ansehen, wie man Inhalte aus Drupal in einem Wirtssystem anzeigt. Für das SixCMS bedeutet das im wesentlichen, die passende Drupal-Funktion in einem Template im SixCMS aufzurufen. Damit die Drupal-Funktionen im SixCMS verfügbar sind, muß Drupal allerdings zunächst initialisiert werden. Ein guter Ort für die entsprechenden Aufrufe ist die Datei _sixcms_config_user.php_ in der DocumentRoot des Webservers. Ergänzen Sie diese Datei im den folgenden Code-Block:
chdrupal(); require_once './includes/bootstrap.inc'; // 1 drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); chdrupal();
An dieser Stelle ist es sinnvoll, die Definition der Funktion chdrupal() aus dem vorigen Abschnitt zum Wechsel des Arbeitsverzeichnis in die Drupal-Installation und zurück ebenfalls in diese Datei zu verschieben. Sie steht dann sowohl den Event-Triggern als auch in Templates zur Verfügung. Nach dem Einbinden des erforderlichen Codes in der Datei bootstrap.inc wird das Drupal-System durch Aufruf von drupal_boostrap() in Zeile 1 vollständig initialisiert.
Die Anzeige von Kommentaren aus Drupal im Detail-Template eines Artikels kann dann über folgenden Code-Block im Detail-Template erfolgen:
// 1
global $user;
$user = drupal_anonymous_user();$node = new stdclass;
$node->nid = %CMS_DATA(drupal_id);
chdrupal();
echo comment_render($node);
chdrupal();
?>
Für dieses Beispiel beschränken wir uns auf die die Unterstützung von Gastnutzern. Es ist in diesem Fall also keine Anmeldung erforderlich, um Kommentare anlegen und anzeigen zu können. Damit das funktionert, muss dem Gastnutzer in Drupal das Recht zum Anlegen und Anzeigen von Kommentaren eingeräumt werden. Sie tun dies in Drupal unter dem Menüpunkt Administer | User management | Access control durch Setzen der Häkchen in der Spalte „anonymous user“ im comment module bei „Kommentare lesen“ und bei „Kommentare eintragen“. Zur Vereinfachung setzen Sie im Beispiel auch noch das Häkchen bei „Kommentare ohne vorherige Freigabe publizieren“. Das Ergebnis sollte aussehen wie in der folgenden Abbildung. Nur der erste Kommentare von Anonymous wurde in diesem Beispiel über das SixCMS-Template eingegeben. Die anderen beiden Kommentare stammen von der Drupal-Seite.




Kommentiert
11 weeks 6 days ago
13 weeks 3 days ago
13 weeks 4 days ago
17 weeks 2 days ago
49 weeks 5 days ago
1 year 20 weeks ago
1 year 28 weeks ago
1 year 39 weeks ago
1 year 46 weeks ago
2 years 6 days ago