Кроме вас это никого не заинтересовало, и судя по "хуже не будет" вас тоже Но на всякий случай опишу лишь то, что сделал для того, чтобы остался только id товара. Может быть, действительно, кому-то пригодится.
В файле catalog/controller/extension/module/hpmodel/hpmodel.php строку
if (!empty($setting['redirect'])) {$product_info['href'] = $this->url->link('product/product', (!empty($this->request->get['path']) ? 'path='.$this->request->get['path'] . '&': '') . 'product_id=' . $parent['parent_id']) . '#' . implode('-', $keys);
заменить на
f (!empty($setting['redirect'])) {$product_info['href'] = $this->url->link('product/product', (!empty($this->request->get['path']) ? 'path='.$this->request->get['path'] . '&': '') . 'product_id=' . $parent['parent_id']) . '#' . $keys[0];
В файле catalog/view/theme/default/template/extension/module/hpmodel/hpmodel.tpl
Строку
hpm_set_hash(hash.join('-'));]
Заменить на
hpm_set_hash(hash[0]);
Это работает. И мне этогот было достаточно.
-----------------------------------
Если нужна транслитерация, то необходимо применить к хэштегу функцию:
function translit($s) {
$s = (string) $s; // преобразуем в строковое значение
$s = strip_tags($s); // убираем HTML-теги
$s = str_replace(array("\n", "\r"), " ", $s); // убираем перевод каретки
$s = preg_replace("/\s+/", ' ', $s); // удаляем повторяющие пробелы
$s = trim($s); // убираем пробелы в начале и конце строки
$s = function_exists('mb_strtolower') ? mb_strtolower($s) : strtolower($s); // переводим строку в нижний регистр (иногда надо задать локаль)
$s = strtr($s, array('а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d','е'=>'e','ё'=>'e','ж'=>'j','з'=>'z','и'=>'i','й'=>'y','к'=>'k','л'=>'l','м'=>'m','н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'c','ч'=>'ch','ш'=>'sh','щ'=>'shch','ы'=>'y','э'=>'e','ю'=>'yu','я'=>'ya','ъ'=>'','ь'=>''));
$s = preg_replace("/[^0-9a-z-_ ]/i", "", $s); // очищаем строку от недопустимых символов
$s = str_replace(" ", "-", $s); // заменяем пробелы знаком минус
return $s; // возвращаем результат
}