Inhalte nur für bestimmte Länder anzeigen

04. Mai 14

Manchmal sollen bestimmte Inhalte nur dann angezeigt werden, wenn die Website in einem bestimmten Land geöffnet wird. In unserem Beispiel soll eine Händlersuche bzw. Filialsuche nur dann angeboten werden, wenn sich der Besucher in Deutschland befindet, da nur die Adressen von Filialen in Deutschland zur Verfügung stehen.

Das Land des Besuchers wird über dessen IP-Adresse ermittelt. Der Algorithmus zur Geolokalisierung basiert auf der DB-IP Datenbank von » www.db-ip.com. Die Daten werden in eine eigene Datenbank importiert und sollten in regelmäßigen Abständen (automatisch) aktualisiert werden. 

Die PHP-Funktionen zum Auslesen der IP-Adresse des Besuchers und zum Nachsehen des zugehörigen Landes in der Datenbank findet man ebenfalls auf der Website » www.db-ip.com.

Hat man unter Verwendung dieser Bibliothek eine Funktion AktuellesLand() implementiert, welche das Land des Besuchers ausgibt, so kann man mit folgender User-Funktion prüfen, ob die Website gerade in Deutschland angezeigt wird:

function user_HaendlerZeigen() {
  return (AktuellesLand() == "DE");
}

Steht diese Funktion in der Datei localconf.php oder in der Datei ext_localconf.php, so kann sie zum Beispiel in Typoscript in einer Condition verwendet werden:

[userFunc = user_HaendlerZeigen()]
  <... Typoscript Code zum Anzeigen der Haendlersuche ...>
[global]

Möchte man die Anzeige der Inhalte von einer feineren Geolokalisierung abhängig machen, also von der Provinz, der Stadt oder den Koordinaten, so gibt es auch hierzu Datenbanken bei » www.db-ip.com. Diese sind dann allerdings kostenpflichtig.