Hallo Community,
ich will für einen MultiStore die Alternate-Links/Hreflang einbinden und habe es bisher so umgesetzt:
<?php
foreach (Mage::app()->getWebsites() as $website) {
foreach ($website->getGroups() as $group) {
$stores = $group->getStores();
foreach ($stores as $store) {
if ($store->getCode() == 'de'){
$lang = 'de-de';
} elseif ($store->getCode() == 'es_de'){
$lang = 'de-es';
} elseif ($store->getCode() == 'es'){
$lang = 'es-es';
} elseif ($store->getCode() == 'fr'){
$lang = 'fr-fr';
} elseif ($store->getCode() == 'en'){
$lang = 'en-en';
}
echo '<link rel="alternate" href="' . $store->getCurrentUrl(false) . '" hreflang="' . $lang . '"/>' . "\n";
}
}
}
?>
Das klappt auch bisher alles ganz gut. Ausgabe sieht z.B. wie folgt im header aus:
<link rel="alternate" href="meineDomain/de/zubehoer/hammer.html" hreflang="de-de"/>
<link rel="alternate" href="meineDomain/es/zubehoer/hammer.html" hreflang="es-es"/>
<link rel="alternate" href="meineDomain/es_de/zubehoer/hammer.html" hreflang="de-es"/>
<link rel="alternate" href="meineDomain/en/zubehoer/hammer.html" hreflang="en-en"/>
<link rel="alternate" href="meineDomain/fr/zubehoer/hammer.html" hreflang="fr-fr"/>
Das Problem ist jetzt, das der Pfad immer in der derzeitigen Sprache ausgegeben wird - hier: /zubehoer/hammer.html in deutsch. Dadurch stimmen natürlich nicht mehr die Links da die Kategorien und Artikel je nach Sprache anderst heißen.
Kann mir jmd. sagen, ob und wenn ja, wie man den Pfad den man ja mithilfe von getCurrentUrl(false) ausgegeben bekommt, übersetzen könnte?