contao/test — Issue #2707: getRootIdFromUrl
Author: tristanlins
Created: 2011-11-29 10:09:51+00:00
State: open
Labels: Defect, frontend

Ich habe folgenden Sonderfall: Ich habe mehrere Websites, durch root-Pages von einander getrennt innerhalb einer Domain und eine Einstiegsseite, von der man auf eine Website einsteigen kann.
Zuerst wurde eine der Websites, danach die Einstiegsseite und die anderen Seiten erstellt, jetzt habe ich aber das Problem, dass die Einstiegsseite nicht angezeigt wird wenn die Domain aufgerufen wird sondern die 1. Website, obwohl sie im Seitenbaum ganz oben steht.
Ich kann der Einstiegsseite aber auch nicht die Domain eintragen, weil ich ja dann auf die anderen Seiten nicht mehr unter der Domain zugreifen kann.

Schuld ist, dass beim suchen der root-Page die Sortierung ignoriert wird und weil die Sprache überall gleich und die Domain leer (also auch überall gleich) ist, werden die Einträge ihrer natürliche Reihenfolge sortiert (Erstellungsreihenfolge).
Dieser Sonderfall tritt natürlich nur ein, wenn man mehrere root-Pages, ohne Domain und gleicher Sprache anlegt. Ein einfaches hinzufügen des Feldes **sorting** an das Ende der ORDER BY Klausel würde das Problem wohl für die meisten Fällen lösen, Frontend.php:130

```
$objRootPage = $this->Database->prepare("SELECT id, dns, language, fallback
FROM tl_page
WHERE type='root' AND (dns=? OR dns=? OR dns='')"
. ((count($accept_language) > 0) ? " AND (language IN('". implode("','", $accept_language) ."') OR fallback=1)" : " AND fallback=1")
. (!BE_USER_LOGGED_IN ? " AND (start='' OR start<$time) AND (stop='' OR stop>$time) AND published=1" : "")
. " ORDER BY dns DESC" . ((count($accept_language) > 0) ? ", language='". implode("' DESC, language='", $accept_language) ."' DESC" : "")
**added** . ", sorting")
```

Ich weiß dass es sich um einen Sonderfall handelt, allerdings dürfte diese Änderungen den Normalfall nicht beeinflussen, dafür ist aber dieser Sonderfall abgedeckt ;)

--- _Originally created on November 30th, 2010, at 09:56pm (ID 2707)_