Если переписать модель tag/tag
и переопределить getTaggedProductsUrl()
следующим, это будет работать:
public function getTaggedProductsUrl()
{
$fullTargetPath = Mage::getUrl('tag/product/list', array(
'tagId' => $this->getTagId(),
'_nosid' => true
));
$targetPath = substr($fullTargetPath, strlen(Mage::getBaseUrl()));
$rewriteUrl = Mage::getModel('core/url_rewrite')->loadByIdPath($targetPath);
if ($rewriteUrl->getId()) {
return $rewriteUrl->getRequestPath();
}
return $fullTargetPath;
}
Предполагается, что вы используете целевой путь без базового URL-адреса в качестве «идентификатора пути» и свойства «Целевой путь», например, tag/product/list/tagId/30/
.
Если вы не хотите дублировать этот параметр, вам нужно будет использовать модель ресурса тега и вручную настроить SQL для соответствия столбцу target_path
вместо id_path
, потому что модель ресурса не поставляется с предопределенным методом для вас.
Тем не менее, вы можете использовать метод Mage_Tag_Model_Resource_Tag::loadByRequestPath()
в качестве ссылки.