- Affected App
- WoltLab Suite Core
Hallo zusammen,
ich hoffe, dass es am Ende nur eine Konfigurationssache ist, aber ich kann mir das vorerst nicht anders als ein Fehler erklären, weshalb ich es in dieses Forum poste.
Meine Seite hat folgendes setup:
/ -> Website-Package
core/ -> WSC/WCF
board/ -> WBB
Wenn man die URL aufruft soll natürlich / aufgerufen werden und nicht /core/ und auch nicht /dashboard/ oder /core/dashboard/. Ich habe deshalb eine Seite angelegt die im Website-Package auch als Einstiegsseite definiert ist:
[landingPages:protected] => Array
(
[wcf] => Array
(
[0] => __WCF_CMS__37
[1] => __WCF_CMS__37
[2] => wcf\page\CmsPage
)
[wbb] => Array
(
[0] => BoardList
[1] => board-list
[2] => wbb\page\BoardListPage
)
[site] => Array
(
[0] => __WCF_CMS__37
[1] => __WCF_CMS__37
[2] => wcf\page\CmsPage
)
)
Display More
Soweit so gut. In ControllerMap::lookupDefaultController() wird das richtige Array aus den landingPages geholt. Danach wird die PageID (37) extrahiert und über ControllerMap::lookupCmsPage() überprüft. ControllerMap::lookupCmsPage() greift auf customUrls['reverse'] zu welches (abgekürzt) so aussieht:
[customUrls:protected] => Array
(
[reverse] => Array
(
[site] => Array
(
[__WCF_CMS__54-2] =>
[__WCF_CMS__54-1] =>
[__WCF_CMS__56-2] =>
[__WCF_CMS__56-1] =>
[__WCF_CMS__60-2] =>
[__WCF_CMS__60-1] =>
[__WCF_CMS__37-0] =>
[__WCF_CMS__61-2] =>
[__WCF_CMS__61-1] =>
)
)
)
Display More
er holt sich also __WCF_CMs__37-0 und gibt folgendes zurück:
Mit dieser Info wird ControllerMap::resolveCustomController() aufgerufen. Hier kommt meiner Meinung nach der Fehler ins Spiel. Es wird nun in customUrls['lookup']['site'] nach dem übergebenen controller (leerer String) geschaut. Da alle CmsPages keine custom-url haben sieht der lookup table für site so aus:
[customUrls:protected] => Array
(
[lookup] => Array
(
[site] => Array
(
[] => __WCF_CMS__61-1
)
)
__WCF_CMS__61-1 ist einfach die letzte Seite des site packages. Statt der Page 37 wird jetzt die Page 61 geladen und wir sind ganz woanders als wir eigentlich sein sollten. Wie oben erwähnt möchte ich gerade für meine Einstiegsseite keine custom-url setzen und auch das setzen von custom-urls für die anderen seiten finde ich unnötig, da dafür ja die Seitentitel dienen.
Was ist hier falsch gelaufen?