PHP-Export - Kategorien

Aus OpenEstate-Wiki

Wechseln zu: Navigation, Suche
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.

  1. class immotool_myconfig {
  2. ...
  3.   /**
  4.    * Allgemeine Konfiguration überschreiben.
  5.    * @param object $config Konfigurations-Objekt
  6.    */
  7.   function load_config_default( &$config ) {
  8.     // ggf. individuelle Konfigurationswerte einfügen
  9.     // ...
  10.     $config->Categories = array( 'wohnen', 'gewerbe' );
  11.   }
  12. ...
  13. }
  • 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=wohnen
  • expose.php?id=123&cat=gewerbe

Wenn die übermittelte Kategorie in der Konfigurationsvariablen $Categories hinterlegt ist,

  1. wird die Kategorie permanent in der Session des Benutzers gespeichert.
  2. wird der Kategorie-Parameter hinter den erzeugten Links angefügt.
  3. wird eine Konstante IMMOTOOL_CAT registriert, 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:

  1. Im Template-Verzeichnis wird nach einer Datei global_wohnen.html gesucht. Wenn eine solche Datei vorhanden ist, wird diese zur Erzeugung der Webseite verwendet.
  2. 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.

  1. class immotool_myconfig {
  2. ...
  3.   /**
  4.    * Konfiguration der Immobilienübersicht überschreiben.
  5.    * @param object $config Konfigurations-Objekt
  6.    */
  7.   function load_config_index( &$config ) {
  8.     // allgemeine Konfiguration (siehe oben)
  9.     immotool_myconfig::load_config_default( $config );
  10.  
  11.     // ggf. individuelle Konfigurationswerte einfügen
  12.     // ...
  13.  
  14.     // Filter-Optionen, wenn keine Kategorie zugewiesen wurde
  15.     $config->FilterOptions = array( 'action', 'type', 'country', 'id' );
  16.     if (defined('IMMOTOOL_CAT')) {
  17.  
  18.       // Filter-Optionen für Kategorie 'wohnen'
  19.       if (IMMOTOOL_CAT=='wohnen')
  20.         $config->FilterOptions = array( 'action', 'type' );
  21.  
  22.       // Filter-Optionen für Kategorie 'gewerbe'
  23.       else if (IMMOTOOL_CAT=='gewerbe')
  24.         $config->FilterOptions = array( 'id', 'type', 'country' );
  25.     }      
  26.   }
  27. ...
  28. }

Verschiedene Sortieroptionen verwenden

Die Konfigurationsdatei myconfig.php kann wie folgt bearbeitet werden, um unterschiedliche Filterkriterien in verschiedenen Kategorien darzustellen.

  1. class immotool_myconfig {
  2. ...
  3.   /**
  4.    * Konfiguration der Immobilienübersicht überschreiben.
  5.    * @param object $config Konfigurations-Objekt
  6.    */
  7.   function load_config_index( &$config ) {
  8.     // allgemeine Konfiguration (siehe oben)
  9.     immotool_myconfig::load_config_default( $config );
  10.  
  11.     // ggf. individuelle Konfigurationswerte einfügen
  12.     // ...
  13.  
  14.     // Sortierungen, wenn keine Kategorie zugewiesen wurde
  15.     $config->OrderOptions = array( 'id', 'city', 'postal', 'title', 'price' );
  16.     if (defined('IMMOTOOL_CAT')) {
  17.  
  18.       // Filter-Optionen für Kategorie 'wohnen'
  19.       if (IMMOTOOL_CAT=='wohnen')
  20.         $config->OrderOptions = array( 'id', 'city', 'postal', 'title', 'price', 'rooms' );
  21.  
  22.       // Filter-Optionen für Kategorie 'gewerbe'
  23.       else if (IMMOTOOL_CAT=='gewerbe')
  24.         $config->OrderOptions = array( 'id', 'city', 'postal', 'title', 'price', 'area' );
  25.     }      
  26.   }
  27. ...
  28. }
Persönliche Werkzeuge