From cc8e0fca0f09204c4c79b074dfd001a055eeb42c Mon Sep 17 00:00:00 2001 From: Mikael Rasmussen Date: Wed, 25 May 2016 15:19:42 +0200 Subject: [PATCH] Update Observer.php Added new method in helperclass 'rewrittenCategoryUrl' to get correct URL for category --- .../Inchoo/Alternate/Model/Observer.php | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/app/code/community/Inchoo/Alternate/Model/Observer.php b/app/code/community/Inchoo/Alternate/Model/Observer.php index a7017d3..bc81aaf 100644 --- a/app/code/community/Inchoo/Alternate/Model/Observer.php +++ b/app/code/community/Inchoo/Alternate/Model/Observer.php @@ -13,17 +13,23 @@ public function alternateLinks() if ($headBlock) { foreach ($stores as $store) { - if ($product) { - $category ? $categoryId = $category->getId() : $categoryId = null; - $url = $store->getBaseUrl() . Mage::helper('inchoo_alternate')->rewrittenProductUrl($product->getId(), $categoryId, $store->getId()); - } else { - $url = $store->getUrl('', array( - '_current' => true, - '_use_rewrite' => true - )); - } - $storeCode = substr(Mage::getStoreConfig('general/locale/code', $store->getId()), 0, 2); - $headBlock->addLinkRel('alternate"' . ' hreflang="' . $storeCode, $url); + if ($product) { + $category ? $categoryId = $category->getId() : $categoryId = null; + $url = $store->getBaseUrl() . Mage::helper('inchoo_alternate')->rewrittenProductUrl($product->getId(), $categoryId, $store->getId()); + } elseif($category) { + $url = $store->getBaseUrl() . Mage::helper('inchoo_alternate')->rewrittenCategoryUrl($category->getId(), $store->getId()); + } else { + $url = $store->getUrl('', array( + '_current' => true, + '_use_rewrite' => true + )); + + } + if((strpos($url, '?') !== false)){ + $url = substr($url, 0, strrpos($url, "?")); + } + $storeCode = Mage::getStoreConfig('general/locale/code', $store->getId()); + $headBlock->addLinkRel('alternate"' . ' hreflang="' . $storeCode, $url); } } return $this;