Module not found: SiteAccessSettings

eZ publish
22.10.2014

Mit der Einstellung "MatchOrder: host_uri" lassen sich verschiedene SiteAccess ansteuern. Interessant etwa für verschiedenen Sprachversionen oder aber auch und vor allem für den administrativen SiteAccess.

Eine fehlende Information in Dokumentation und Beispiel-site.ini können hierbei zu großer Konfusion führen.

In der site.ini wird im Bereich [SiteAccessSettings] festgelegt, unter welcher URL oder welchem Pfad ein bestimmter SiteAccess aufgerufen wird. So schön und umfangreich die angegebenen Beispiele sind, als so tückisch kann sich das Konstrukt erweisen.

MatchOrder: host_uri

Mit ein wenig Nachdenken lässt sich die Funktionsweise der "MatchOrder: host_uri" recht schnell nachvollziehen:

## This example will match on example.com/nor
#HostUriMatchMapItems[]=example.com;nor;example_nor
## This example will match on example.com/eng & www.example.com/eng
#HostUriMatchMapItems[]=example.com;eng;example_eng;end
## This example will match on example.com/eng & example.com.localhost/eng
#HostUriMatchMapItems[]=example.com;eng;example_eng;start
## This example will match on example.com/eng, www.example.com/eng & example.com.localhost/eng
#HostUriMatchMapItems[]=example.com;eng;example_eng;part
## This example will match on example.com
#HostUriMatchMapItems[]=example.com;;example

Ruft man im Browser die URL http://example.com/nor auf, landet man im example_nor-SiteAccess und kann mit den entsprechenden Templates einen auf Norwegen zugeschnittenen Webauftritt erstellen.

Will man nun die URL zum administrativen Bereich individuell festlegen, dann kann das etwa so aussehen:

HostUriMatchMapItems[]=example.com;admin_area;admin_siteaccess

So weit so gut. Und jetzt die Falle: Mit keinem Wort ist erwähnt, dass die Reihenfolge der Einträge wichtig ist. Denn sie werden von oben nach unten abgearbeitet und der erste passende Eintrag kommt zur Anwendung.

Module not found

Folgender Eintrag für den Admin-Bereich lässt einen schnell verzweifeln. Denn statt des Admin-Logins unter http://example.com/admin_area begrüßt einen die "Module not found" Meldung.

HostUriMatchMapItems[]=example.com;;example
HostUriMatchMapItems[]=example.com;admin_area;admin_siteaccess

Die Erklärung ist banal: eZ sucht unter der angegebenen URL einen Node mit dem Namen "admin_area" und versucht ihn mit dem example-SiteAccess darzustellen. Der Node wird mit an Wahrscheinlichkeit grenzender Sicherheit nicht existieren. Die zweite Zeile, die auf den richtigen SiteAccess verweist, kommt nicht zur Anwendung. Dreht man die Einträge um:

HostUriMatchMapItems[]=example.com;admin_area;admin_siteaccess
HostUriMatchMapItems[]=example.com;;example

Wird der gewünschte SiteAccess angesteuert und der Admin-Login erscheint.

comments powered by Disqus

Liebe

Lieb haben - Hieb laben

lieb-haben-hieb-laben

Die einen wollen sich voll lieb haben, die Anderen lieber am Hieb laben.

A ? B C D E F G H I J K L M N O P Q R S T U V W Z