Mehrere MAXcms-Installationen in einer Datenbank
Aus MAXcms
Im Normalfall wird man jedes MAXcms-Projekt in eine separate Datenbank installieren. Steht aber nur eine Datenbank zur Verfügung können sich diese auche mehrere CMSe teilen.
In die inc.thcms.php-Datei muß folgendes eingetragen werden:
$thCMS_config["multi_db"] = "PREFIX"; $thCMS_config["multi_db_exclude"] = array();
Statt PREFIX wird hier das zu verwendende Prefix eingesetzt, z.B. "db1". Alle Tabellen in der MySQL-Datenbank müssen dann das Prefix "db1_" vor dem eigentlichen Tabellennamen führen.
Im Projekt-Hauptverzeichnis muß es folgende Datei geben: inc.multicmsdb.txt
In ihr werden alle Tabellen aufgelistet in der Form:
'categorie_data' 'content_data' 'content_data_work' 'dir_tree' 'extra_meta_data' ...
[bearbeiten] automatisch Prefix umbenennen
Über folgemden Weg kann das Prefix für ein CMS automatisch erzeugt werden, bzw. ein bestehendes umbenannt werden:
Login als Administrator ins CMS. Die URL zur Seite lautet z.B. http://www.example.de/config/index.php
Dann die Seite aufrufen mit:
http://www.example.de/config/index.php?switchDBprefix=1&oldPrefix=PREFIX_ALT&newPrefix=PREFIX_NEU
Wobei PREFIX_ALT der alte Prefix ist, aber auch leer sein kann und PREFIX_NEU der neue Prefix ist. Beide jeweils ohne Unterstrich am Ende. Dieser wird automatisch ergänzt.
Im folgenden werden alle Tabellen umbenannt und die Datei inc.multicmsdb.txt erzeugt. Sie müssen in die Datei inc.thcms.php noch die Zeile $thCMS_config["multi_db"] = "PREFIX_NEU"; eintragen.
[bearbeiten] Ausschluß von Prefix-Tabellen
Es kommt vor, dass zwei CMS in einer Datenbank installiert werden um gemeinsam auf bestimmte Tabellen zuzugreifen. Diese Tabellen hätten dann aber verschiedene Prefixe. Um dies zu ermöglichen, kann im Array
$thCMS_config["multi_db_exclude"] = array('tabelle1', 'tabelle2');
eine Liste mit Tabelle eingetragen werden, für die kein Prefix vorran gestellt wird.
