Im folgenden Anwendungsfall werden Datensätze einer Extbase Extension zusätzlich zur eigentlichen Detailseite auf weiteren Detailseiten unterhalb von ausgewählten Kategorien ausgegeben. Trotzdem muss der Canonical Tag hierbei auf allen Seiten stets auf die eigentliche Detailseite zeigen.

Detailseite:

Kategorieseiten:

Im diesem Beispiel wird daher innerhalb der Controller Action zunächst überprüft, ob die aktuelle Ausgabe auf der für die Detailansicht konfigurierten PID ausgeführt wird. Falls das nicht der Fall ist, wird der Canonical Tag manuell und unter Berücksichtigung der für die Detailansicht konfigurierten PID via UriBuilder generiert.

Extbase Controller

if ($this->configurationManager->getContentObject()->data['pid'] != $this->settings['detailPid']) {
	$GLOBALS['TSFE']->page['canonical_link'] = $this->uriBuilder->reset()
			->setTargetPageUid($this->settings['detailPid'])
			->uriFor('show', ['recipe' => $recipe], 'MyController', 'myextension', 'MyPlugin');
}




Kommentare