코드가있는 위치에 도달하기 전에 고통의 세계로 들어서게됩니다.
는 그 숫자가 생성되는 방법에 대한 더 간단한 규칙이 없습니다. 상점 ID가있는 경우가 있습니다. 단순한 제품 ID 인 경우가 있습니다. 그건 경우가있다 어느
, 그것은 젠토의 사람이 읽을 수있는/SEO 친화적 인 URL이 있습니다 때문에, 궁극적으로이
변경 사용자 정의 기능을 포함하지-에서 스크래치 젠토 사이트에 대한 흔한 일이 있었다해도 사람들이 옆으로 임의의 텍스트를 운명의
경고를 삽입하기위한 core_url_rewrite
테이블에, 그것은 가능합니다, 당신이 찾고있는 모델 Mage::getSingleton('catalog/url')
입니다. 여기에는 Magento Catalog 및 제품 재 작성을위한 대부분의 논리가 포함됩니다. 이 모든 메소드는 요청 경로를 getUnusedPath
메소드로 전달하여 종료합니다.
#File: app/code/core/Mage/Catalog/Model/Url.php
public function getUnusedPath($storeId, $requestPath, $idPath)
{
//...
}
이 방법에는 URL 끝에 고유 번호를 생성하는 논리가 포함되어 있습니다. 이것을 완전히 추적하는 것은 Stack Overflow 게시물의 범위를 벗어나지 만 특히이 행은 계몽/낙담입니다. 특히
$lastRequestPath = $this->getResource()
->getLastUsedRewriteRequestIncrement($match[1], $match[4], $storeId);
if ($lastRequestPath) {
$match[3] = $lastRequestPath;
}
return $match[1]
. (isset($match[3]) ? ($match[3]+1) : '1')
. $match[4];
, 그것은 분명하지의 경우
$match[3] = $lastRequestPath;
//...
. (isset($match[3]) ? ($match[3]+1) : '1')
//...
이 두 줄, 마 젠토 자동으로 URL에 1
를 추가 한 다음 그것을 계속 증가하는 경우가있다. 이렇게하면 URL이 생성 될 때 시스템 상태에 따라 URL이 생성되므로 간단한 규칙은 없습니다. 이 파일에 대한 관심의
다른 라인은
if (strpos($idPath, 'product') !== false) {
$suffix = $this->getProductUrlSuffix($storeId);
} else {
$suffix = $this->getCategoryUrlSuffix($storeId);
}
뿐만 아니라 URL의 끝에 사용되는이 $suffix
을, 그래서 그 방법은 조사 가치가있다.
URL에서 숫자를 제거하는 것이 전부라면 정규 표현식 또는 explode
/implode
문자열 깜박임을 사용하는 것이 좋습니다.
관리 영역의 URL 다시 쓰기를 보았습니까? [this] (http://stackoverflow.com/questions/5019584/magento-puts-1-in-my-urls-can-i-remove-programatically)에서 게시물을, 그리고 내가 본 것을 보았습니다. URL Rewrites 및 색인 생성 문제와 관련이 있습니다. – CCBlackburn
내 관심사는 * 수천 개의 구성 가능한 제품 (URL 키가 중복되는 원인)이있는 사이트를 제어하고 있으며 아무도이 문제를 처리하지 못했습니다. 한 번에이 문제를 해결하는 관리자 섹션이 있는지 확실하지 않습니다. 내 관심사는 당신이 참조하는 게시물과는 달리, 자릿수가있는 URL은 동적이며 찾을 수있는 실제 패턴이 없다는 것입니다. 그래서 동적으로 추가 된 숫자의 출처가 무엇인지 알아내는 역동적 인 방법이 있는지 궁금합니다. 그것이 내 관심사이다. 분명히 그것을 제어하는 기능이 있습니다 ... 감사합니다. – Joel
단순한 제품과 다른 구성 가능한 제품의 URL 키가 있습니까? 그렇지 않다면, 이것도 문제가 될 것입니다 – CCBlackburn