• ABOUT THIS SITE
  • MY CV
  • MY SOCIAL STREAM
  • CONTACT
  • SEARCH

olav.net

  • content
  • technology
  • life
  • bonn
Home › Integration von Drupal mit einer bestehenden Site

SixCMS-Inhalte in Drupal anzeigen

olav — Fri, 10/31/2008 - 14:37

Auch die andere Richtung ist möglich, also die Anzeige von Inhalten aus dem Wirtsystem (wieder dem SixCMS) in Drupal. Als Beispiel wollen wir einen Block einbinden, der eine Artikelliste aus dem SixCMS anzeigt. Die folgende Abbildung zeigt diesen Block.

Die Einträge in diesem Block stammen aus dem SixCMS. Die Links ebenfalls auf Seiten, die über SixCMS-Templates dargestellt werden. Eine solche Navigation würden Sie typischerweise dann einbauen, wenn Sie Drupal zur Realisierung ganzer Teilbereiche Ihrer Site, etwa für Foren oder Weblogs, nutzen. Das Navigationsmenü stellt in solch einem Fall die Verbindung zwischen den redaktionellen und den interaktiven Teilen der Site her.

Den erforderlichen Verbindungs-Code implementieren wir in einem eigenen Drupal-Modul namens dbuchsix. Legen Sie dazu ein Verzeichnis sites/all/dbuchsix an und darin zunächst eine Datei dbuchsix.info mit folgendem Inhalt:

; $Id$
name = Drupalbuch SixCMS
description = Integrate Drupal with SixCMS7
core = 6.x

Der eigentliche Code folgt in der Datei dbuchsix.module mit diesem Inhalt:


/** * hook_init() */
function dbuchsix_init() { global $prefs; require_once $_SERVER[‘DOCUMENT_ROOT’] . ‘/sixcms_config_user.php’;
// 1 require_once $prefs[‘sixcms_path_fs’] . ‘/functions/config.php’; require_once $prefs[‘sixcms_path_fs’] . ‘/functions/cms_db_functions.php’; require_once $prefs[‘sixcms_path_fs’] . ‘/functions/cmsfunc.php’;
}

/** * Wrapper for SixCMS embed function */
// 2
function dbuchsix_embed($template, $kind=‘template’) { return cmsfunc_EMBED(array( $kind => $template, ));
}

Die für die Verbindung erforderlichen Definitionen binden wir in einem hook_init() ein (Zeile 1). Die Funktion dbuchsix_embed() ab Zeile 2 erlaubt es uns dann, aus Drupal heraus ein SixCMS-Template aufzurufen. Diese Funktion nutzen wir dann in unserem Block, den wir der Einfachheit halber nicht per hook_block(), sondern direkt durch Einfügen des erforderlichen PHP-Codes in einen manuell angelegten Block definieren. Aktivieren Sie aber zunächst Ihr neues Modul wie gewohnt über Administer | Site building | Modules.

In diesem Block wollen wir ein Page-Template aus dem SixCMS über den Aufruf unserer Funktion dbuchsix_embed() einbinden. Ein Page-Template im SixCMS stellt eine Kombination aus Suchanfrage und formatierter Listenausgabe bereit. Da dies ein Buch über Drupal und keins über SixCMS ist, wollen wir die erforderlichen Schritte auf der Seite des SixCMS nicht im Detail vorstellen. Jedenfalls sollte Ihr Template-Container im SixCMS ein Page-Template wie in der folgenden Abbildung enthalten, damit die Einbindung dieses Templates in Drupal nicht zu einem Fehler führt.

Legen Sie als nächstes unter Administer | Site building | Blöcke einen neuen Block für Ihr Theme an, positionieren ihn in der linken Spalte, setzen sein Eingabeformat auf PHP-Code und geben ihm folgenden Inhalt:

<?php
echo dbuchsix_embed('dbuch_menu', 'page');
?>

Mit diesem Code binden wir die Ausgabe eines SixCMS-Template namens _dbuch_menu_ vom Typ page in einem Drupal-Block ein. Das Ergebnis ist der oben gezeigte Block.

‹ Drupal-Inhalte im SixCMS anzeigen up
  • Add new comment

Praxiswissen Drupal 6. oreillys basics

Mein Buch ist erschienen:

Image of Praxiswissen Drupal 6. oreillys basics

Hier ist die Zusammenfassung.

Hm, lecker!

Selber Punkte verschicken oder sammeln unter browniepunkt.de.

Mitglied der Drupal Association

Kreativ mit Elektronik

Basteln mit Elektronik, Arduino, PICAXE, kombiniert mit Malerei, Textilien, Holz oder Metall können Eltern und Kinder regelmäßig bei meinen Workshops. Nächster Termin: 3./4.4.2012 im Deutschen Museum in Bonn . Ein kleines Side Project war der Benzoltisch im Deutschen Museum im Bonn.

Wir sind alle Atheisten

... in Bezug auf die meisten Götter, an die die Menschheit jemals geglaubt hat. Manche von uns gehen einfach noch einen Gott weiter – Richard Dawkins.

Das Syndicat

Unter syndikate.it blogge ich über Cloud-Technologien. Dort gibt es auch Links zu meinen anderen Websites .

Navigation

  • Recent posts

User login

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password

Kommentiert

  • Wenn dieses Framework nichts
    11 weeks 6 days ago
  • Kindle version of book
    13 weeks 3 days ago
  • Susanna
    13 weeks 4 days ago
  • Tami
    17 weeks 2 days ago
  • Anti-Glare?
    49 weeks 5 days ago
  • Ein erstes Release des CakePHP-Frontends für TYPO3
    1 year 20 weeks ago
  • Geniuos!
    1 year 28 weeks ago
  • Mobile
    1 year 39 weeks ago
  • Dat Buch
    1 year 46 weeks ago
  • Känguru weiß es
    2 years 6 days ago

Freunde

Powered by Drupal, an open source content management system
  • content
  • technology
  • life
  • bonn