PHP-Export - Kategorien
Aus OpenEstate-Wiki
| Website-Export via ImmoTool |
|---|
| PHP-Export - Kategorien |
|
|
Inhaltsverzeichnis |
Verwendung von Kategorien
Der Kategorie-Mechanismus ermöglicht die Erzeugung unterschiedlicher Ausgaben. An verschiedenen Stellen kann innerhalb der PHP-Skripte darauf zurückgegriffen werden. Die folgenden Schritte sind notwendig, um den Kategorie-Mechanismus zu verwenden.
Einrichtung der Kategorien
In der Konfigurationsdatei myconfig.php müssen die zu verwendenden Kategorien wie folgt hinterlegt werden.
class immotool_myconfig {
.../*** Allgemeine Konfiguration überschreiben.* @param object $config Konfigurations-Objekt*/function load_config_default( &$config ) {
// ggf. individuelle Konfigurationswerte einfügen// ...$config->Categories = array( 'wohnen', 'gewerbe' );
}...}
- Es können beliebig viele Kategorie-Bezeichnungen hinterlegt werden. Welche Kategorien zu verwenden sind, hängt im Wesentlichen von den Anforderungen / Bedürfnissen der jeweiligen Webseite ab und kann nicht pauschal beantwortet werden.
- Es ist zu beachten, dass keine Sonderzeichen / Leerzeichen verwendet werden und keine Kateogie doppelt eingetragen ist.
Auswahl der Kategorie via URL-Parameter
Um bei der Erzeugung der Ausgabe eine Kategorie zu berücksichtigen, können die Hauptskripte index.php & expose.php mit dem Parameter cat gestartet werden, z.B.:
index.php?cat=wohnenexpose.php?id=123&cat=gewerbe
Wenn die übermittelte Kategorie in der Konfigurationsvariablen $Categories hinterlegt ist,
- wird die Kategorie permanent in der Session des Benutzers gespeichert.
- wird der Kategorie-Parameter hinter den erzeugten Links angefügt.
- wird eine Konstante
IMMOTOOL_CATregistriert, welche an beliebigen Stellen in den PHP-Skripten verwendet werden kann.
Szenarien
Es sind verschiedenste Szenarien denkbar, in denen die Kategorisierung für den Web-Entwickler hilfreich sein kann.
Verschiedene Haupt-Templates verwenden
Das Haupt-Template ('global.html' im Verzeichnis 'templates') stellt das Grundgerüst der erzeugten Webseite dar. Für jede Kategorie kann bei Bedarf ein eigenes Haupt-Template hinterlegt werden. Wenn z.B. die aktuelle Kategorie 'wohnen' gewählt wurde, wird wie folgt vorgegangen:
- Im Template-Verzeichnis wird nach einer Datei global_wohnen.html gesucht. Wenn eine solche Datei vorhanden ist, wird diese zur Erzeugung der Webseite verwendet.
- Wenn kein anderes Template gefunden wurde, wird zur Erzeugung der Webseite das Standard-Template global.html verwendet.
Verschiedene Filterkriterien verwenden
Die Konfigurationsdatei myconfig.php kann wie folgt bearbeitet werden, um unterschiedliche Filterkriterien in verschiedenen Kategorien darzustellen.
class immotool_myconfig {
.../*** Konfiguration der Immobilienübersicht überschreiben.* @param object $config Konfigurations-Objekt*/function load_config_index( &$config ) {
// allgemeine Konfiguration (siehe oben)immotool_myconfig::load_config_default( $config );
// ggf. individuelle Konfigurationswerte einfügen// ...// Filter-Optionen, wenn keine Kategorie zugewiesen wurde$config->FilterOptions = array( 'action', 'type', 'country', 'id' );
if (defined('IMMOTOOL_CAT')) {
// Filter-Optionen für Kategorie 'wohnen'if (IMMOTOOL_CAT=='wohnen')
$config->FilterOptions = array( 'action', 'type' );
// Filter-Optionen für Kategorie 'gewerbe'else if (IMMOTOOL_CAT=='gewerbe')
$config->FilterOptions = array( 'id', 'type', 'country' );
}}...}
Verschiedene Sortieroptionen verwenden
Die Konfigurationsdatei myconfig.php kann wie folgt bearbeitet werden, um unterschiedliche Filterkriterien in verschiedenen Kategorien darzustellen.
class immotool_myconfig {
.../*** Konfiguration der Immobilienübersicht überschreiben.* @param object $config Konfigurations-Objekt*/function load_config_index( &$config ) {
// allgemeine Konfiguration (siehe oben)immotool_myconfig::load_config_default( $config );
// ggf. individuelle Konfigurationswerte einfügen// ...// Sortierungen, wenn keine Kategorie zugewiesen wurde$config->OrderOptions = array( 'id', 'city', 'postal', 'title', 'price' );
if (defined('IMMOTOOL_CAT')) {
// Filter-Optionen für Kategorie 'wohnen'if (IMMOTOOL_CAT=='wohnen')
$config->OrderOptions = array( 'id', 'city', 'postal', 'title', 'price', 'rooms' );
// Filter-Optionen für Kategorie 'gewerbe'else if (IMMOTOOL_CAT=='gewerbe')
$config->OrderOptions = array( 'id', 'city', 'postal', 'title', 'price', 'area' );
}}...}

