Ich möchte dem Forum nun mal was zurückgeben:-)
Wir haben bei diversen Artikeln viele Varianten, die sich nur in der Größenangabe unterscheiden. Um DC zu vermeiden, setzen wir da den Canonical des Parent-Artikels
Ohne Gewähr, auf unserem Testsystem (4.4.5) läuft es, das Teil überlädt die View-Classe Details:
<?php
// hinterlegt bei Varianten den Canonical-Tag zum Hauptartikel, um DC zu vermeiden
class getcanonicalfromparentarticleviewdetails extends getcanonicalfromparentarticleviewdetails_parent
{
public function getCanonicalUrl()
{
if ( ( $oProduct = $this->_getParentProduct($oProduct->oxarticles__oxparentid->value)) ) {
$oUtils = oxUtilsUrl::getInstance();
if ( oxUtils::getInstance()->seoIsActive() ) {
$sUrl = $oUtils->prepareCanonicalUrl( $oProduct->getBaseSeoLink( $oProduct->getLanguage(), true ) );
} else {
$sUrl = $oUtils->prepareCanonicalUrl( $oProduct->getBaseStdLink( $oProduct->getLanguage() ) );
}
return $sUrl;
}
// Artikel ohne Varianten benötigen auch einen Canonical, falls aus Suche oder andere Kategorie heraus
elseif ( ( $oProduct = $this->getProduct() ) ) {
$oUtils = oxUtilsUrl::getInstance();
if ( oxUtils::getInstance()->seoIsActive() ) {
$sUrl = $oUtils->prepareCanonicalUrl( $oProduct->getBaseSeoLink( $oProduct->getLanguage(), true ) );
} else {
$sUrl = $oUtils->prepareCanonicalUrl( $oProduct->getBaseStdLink( $oProduct->getLanguage() ) );
}
return $sUrl;
}
}
}
Dann noch im Admin als Modul registrieren:
details => getcanonicalfromparentarticleviewdetails
BTW: Spricht da was dagegen? (Tunnelblick:-)