2010-12-07 4 views
0

Magento는 제품 및 카테고리의 URL 키에있는 비 라틴 문자를 라틴 문자로 변환합니다. 라틴 문자가 아닌 문자를 사용하려면 어떻게해야합니까?제품 및 카테고리 URL 키 (magento)에 비연 문자 사용

formatUrlKey (Mage/Catalog/Model/Product/Url.php)은 Mage/Catalog/Helper/Product/Url.php에서 $_convertTable을 사용합니다. 코드를 변경하려고했지만 Magento가 비 라틴어 URL을 저장하지 못하게하고 관리자에게 올바르게 표시 할 수 없습니다.

나는 당신이 suggsted로 $ _convertTable에서 히브리어 문자를 제거했습니다. 문제는 formatUrlKey가 0-9이나와 AZ하지 않은 문자를 대체한다는 것입니다 '-':

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; 
} 

그래서 나는이 방법을 오버라이드 (override)로 변경하고 있습니다 : 이제

$urlKey = preg_replace('#[^0-9a-zא-ת]+#i', '-', Mage::helper('url')->format($str)); 

젠토 url 문자열을 올바르게 저장하고 표시하지만 브라우저에서는 작동하지 않습니다. 내가 만약 대신 preg_replace이다,하여 strtolower의 404

받고 있어요 제품 URL을 액세스하고 난 단지 사용하고 트림하려고 할 때 :

$urlKey = urlencode($str); 

젠토는 formatUrlKey 몇 가지를 호출하기 때문에 그것은 또한 작동하지 않습니다 타임스. 이유를 모르겠습니다.

감사 젠토 이후

답변

0

은 변환 시도에서 젠토을 방지 할 수 테이블에서 항목을 삭제, 테이블에서 변환 눈을 멀게한다. 도우미 클래스를 오버라이드하고보고 싶지 않은 항목을 삭제하면 길을 잘 가야합니다.

관리자 패널에 올바르게 표시하는 한, 비 라틴 문자를 저장하면 별도의 문제일까요? 보다 구체적인 정보가 도움이 될 것입니다.

+0

나는 더 많은 테스트와 정보를 내 원래의 질문을 업데이 트했습니다. – pablo

+0

formatUrlKey 함수를 변경하여 str을 변경하지 않고 URL 인코딩 된 문자열을 수동으로 저장하는 경우 (% D7 % 90 % D7 % 91 % D7 % 92) 프런트 엔드에서 אבג 및 제품 링크로 올바르게 표시합니다 페이지가 작동합니다. – pablo

관련 문제