Одним из возможных решений является получение идентификатора категории по заданному URL.У вас есть таблица переписываний URL, и у вас есть строка запроса.
// Try to get category id directly from request
if (Mage::app()->getRequest()->getParam('id')) {
return Mage::app()->getRequest()->getParam('id');
}
// Try to get category id from request by rewrite request path
$aliases = Mage::app()->getRequest()->getAliases();
if ($aliases && is_array($aliases) && !empty($aliases) && $aliases['rewrite_request_path']) {
$urlRewrite = Mage::getModel('core/url_rewrite')->loadByRequestPath($aliases['rewrite_request_path']);
if ($urlRewrite && $urlRewrite->getId()) {
return $urlRewrite->getCategoryId();
}
}
Возможно, это не красивое решение, но у меня оно сработало.