有人可以帮我解决以下问题:
我想更改类别的网址。
现在如下http://tuinbeursnederland.nl.testbyte.nl/blokhutten-tuinhuizen/blokhutten/op-maat/
我想这样:http://tuinbeursnederland.nl.testbyte.nl/blokhutten/op-maat/
但类别/ blokhutten-tuinhuizen /必须保留。
有人有任何想法吗?
答案 0 :(得分:0)
您可以使用网址重写来实现此目的。
转到url重写并添加自定义网址重写,提供唯一的ID路径。
在请求路径中提供http://tuinbeursnederland.nl.testbyte.nl/blokhutten-tuinhuizen/blokhutten/op-maat/
此网址,并在目标路径中为此网址http://tuinbeursnederland.nl.testbyte.nl/blokhutten/op-maat/
magento内部考虑其使用的目标路径。
有关网址重写的更多信息,请参阅此处http://www.magentocommerce.com/wiki/modules_reference/english/mage_adminhtml/urlrewrite/index
http://blog.beetleweb.com/2012/10/creating-custom-magento-url-rewrites/
答案 1 :(得分:0)
class CP_Core_Model_Catalogurl extends Mage_Catalog_Model_Url
{
/**
* Retrieve Category URL
*
* @param array $params
* @return string
*/
public function getCategoryRequestPath($category, $parentPath)
{
$storeId = $category->getStoreId();
$idPath = $this->generatePath('id', null, $category);
$suffix = $this->getCategoryUrlSuffix($storeId);
if (isset($this->_rewrites[$idPath])) {
$this->_rewrite = $this->_rewrites[$idPath];
$existingRequestPath = $this->_rewrites[$idPath]->getRequestPath();
}
if ($category->getUrlKey() == '') {
$urlKey = $this->getCategoryModel()->formatUrlKey($category->getName());
}
else {
$urlKey = $this->getCategoryModel()->formatUrlKey($category->getUrlKey());
}
$categoryUrlSuffix = $this->getCategoryUrlSuffix($category->getStoreId());
if (null === $parentPath) {
$parentPath = $this->getResource()->getCategoryParentPath($category);
}
elseif ($parentPath == '/') {
$parentPath = '';
}
$parentPath = Mage::helper('catalog/category')->getCategoryUrlPath($parentPath,
true, $category->getStoreId());
$parentPath = '';
$requestPath = $parentPath . $urlKey . $categoryUrlSuffix;
if (isset($existingRequestPath) && $existingRequestPath == $requestPath . $suffix) {
return $existingRequestPath;
}
if ($this->_deleteOldTargetPath($requestPath, $idPath, $storeId)) {
return $requestPath;
}
return $this->getUnusedPath($category->getStoreId(), $requestPath,
$this->generatePath('id', null, $category)
);
}
}
请覆盖模块自定义此功能,就像我上面那样。