Magento špatně vytváří hezká url z českých znaků.
Bohužel se mi nepodařilo tento nedostatek odstranit podle návodu:
http://www.magentocommerce.com/wiki/seo/url_key_characters_conversion
Musel jsem upravit funkci formatUrlKey, je to řádek 374 v souboru app/code/core/Mage/Catalog/Model/Category.php
Původní kód
public function formatUrlKey($str)
{
$str = Mage::helper(‚core‘)->removeAccents($str);
$urlKey = preg_replace(‚#[^0-9a-z]+#i‘, ‚-‚, $str);
$urlKey = strtolower($urlKey);
$urlKey = trim($urlKey, ‚-‚);
return $urlKey;
}
Upravená funkce
public function formatUrlKey($str)
{
$urlKey = preg_replace(‚#[^0-9a-z]+#i‘, ‚-‚, Mage::helper(‚catalog/product_url‘)->format($str));
$urlKey = strtolower($urlKey);
$urlKey = trim($urlKey, ‚-‚);
return $urlKey;
}
Velmi dobré řešení pro české znaky s diakritikou v URL adresách kategorií, které jsou doposud v Magento ingnorovány a vznikají tak nepěkné URL adresy sekcí, tak je modul Fix for category URL, který je zdarma ke stažení na Magento Connectu.
U produktových a CMS stránek s tím už v nových verzích Magenta není. Jediné co je potřeba řešit jsou ty kategorie.