Weiß jemand, was hier falsch ist bzw. ob man das überhaupt so machen kann?
PHP-Code:
$GLOBALS['TL_DCA']['tl_page']['list']['label']['fields'] = array('title', 'id', 'layout:tl_layout.name');
$GLOBALS['TL_DCA']['tl_page']['list']['label']['format'] = '
%s
<a href="/contao/main.php?do=themes&table=tl_layout&act=edit&id=' . Contao\PageModel::findByPK( . '%s' . )->layout . '&rt=' . REQUEST_TOKEN . '">%s</a>';
Das Problem ist hier offenbar der Platzhalter %s innerhalb von Contao\PageModel::findByPK( . '%s' . )->layout. Steht der Platzhalter hier noch nicht zur Verfügung, sobald die Methode aufgerufen wird?
Wenn ich beispielsweise direkt eine bestimmte Seiten-ID an die Methode übergebe, funktioniert es wie beabsichtigt:
PHP-Code:
$GLOBALS['TL_DCA']['tl_page']['list']['label']['fields'] = array('title', 'layout:tl_layout.name');
$GLOBALS['TL_DCA']['tl_page']['list']['label']['format'] = '
%s
<a href="/contao/main.php?do=themes&table=tl_layout&act=edit&id=' . Contao\PageModel::findByPK(1)->layout . '&rt=' . REQUEST_TOKEN . '">%s</a>';
Vielleicht gibt es ja auch eine andere (bessere) Methode, um an die ID jenes Seitenlayouts zu kommen, welches einer bestimmten Seiten-ID zugewiesen ist.
Lesezeichen