@flx: ersetze auch die Funktion findMasterRootForPage hiermit:
PHP-Code:
/**
* Finds the root page of fallback language for the given page.
*
* @param PageModel $page
*
* @return \PageModel|null
*/
public function findMasterRootForPage(PageModel $page)
{
$page->loadDetails();
$t = static::$strTable;
$columns = [
"$t.type='root'",
"$t.fallback='1'",
"$t.languageRoot=0",
"(
$t.dns=?
OR $t.dns IN (SELECT dns FROM tl_page WHERE type='root' AND fallback='1' AND id IN (SELECT languageRoot FROM tl_page WHERE type='root' AND fallback='1' AND dns=?))
OR $t.dns IN (SELECT dns FROM tl_page WHERE type='root' AND fallback='1' AND languageRoot IN (SELECT id FROM tl_page WHERE type='root' AND fallback='1' AND dns=?))
)"
];
return PageModel::findOneBy(
$columns,
[$page->domain, $page->domain, $page->domain]
);
}