Добро пожаловать в наше сообщество!
skripters.net - небольшой форум для вэб-мастеров на котором вам предоставляется широкий выбор скриптов, плагинов, стилей и много чего еще для запуска собственного проекта: интернет-магазина, форума, корпоративного сайта, продающего лендинга. Здесь вы найдете много решений по заработку в интернет. Сможете продать или купить нужное вам решение для старта своего веб-проекта. Опытные пользователи проконсультируют вас если вы вначале пути, подскажут как лучше, помогут в установке и настройке.
1. Для регистрации доступна только одна почтовая служба - GMAIL
2. Если после регистрации вы не получили письмо - проверьте папку СПАМ

Помощь Как поменять роутинг коротких ссылок на продукты?

Кирилл

Premium+
Регист
27 Апр 2017
Сообщения
33
Реакции
8
По умолчанию, при включении коротких ссылок они принимают вид доменсайта/ссылка на продукт
Кто нибудь знает как сделать эти ссылки вида доменсайта/items/ссылка на продукт?
Версия могуты 10.3.0
 

MRX

Администратор
Регист
6 Апр 2016
Сообщения
2.553
Реакции
2.003
попробуйте поискать ответ здесь: wiki.moguta.ru
 

Кирилл

Premium+
Регист
27 Апр 2017
Сообщения
33
Реакции
8
попробуйте поискать ответ здесь: wiki.moguta.ru
Если бы было все так просто.
Пока могу поделиться из того, что у меня получилось:
если в файле /mg-core/models/catalog.php
поменять строку
$arrayProducts[$key]['link'] = (MG::getSetting('shortLink') == 'true' ? SITE.'/'.$product["product_url"] : SITE.'/'.(isset($product["category_url"])&&($product["category_url"]!='') ? $product["category_url"] : 'catalog/').$product["product_url"]);
на
$arrayProducts[$key]['link'] = (MG::getSetting('shortLink') == 'true' ? SITE.'/items/'.$product["product_url"] : SITE.'/'.(isset($product["category_url"])&&($product["category_url"]!='') ? $product["category_url"] : 'catalog/').$product["product_url"]);
то в каталоге ссылка на продукт менятся, но при переходе на нее сайт делает ридирект на ссылку по дефолту.
Что с этим делать делать, пока не знаю.
 
  • Мне нравится
Реакции: MRX

lolmode

Пользователь
Регист
17 Май 2024
Сообщения
15
Реакции
2
Получается при включенной опции движок меняет длинную ссылку даже если ее просто в браузере вбить.
Надо искать где-то редирект с длинных ссылок на SITE.'/'.$product["product_url"] опять при том же условии getSetting('shortLink') == 'true'
Возможно это находится в другом файле.
Ваш капитан:af:
 

Кирилл

Premium+
Регист
27 Апр 2017
Сообщения
33
Реакции
8
Если кому интересно, то проведя 18 часов в дебагере проблема все же решилась
Помимо наработок в посте выше, нужно зайти в файл /mg-core/lib/moguta.php в нем найти метод convertFastCpuProduct
и поменять
Код:
 if (1 < $countSection && MG::getSetting("shortLink") == "true") {
                    MG::redirect("/" . $productUrl, "301");
на
Код:
 if (2 < $countSection && MG::getSetting("shortLink") == "true") {
                    MG::redirect("/тут параметр который вам нужен/" . $productUrl, "301");
если вложенность параметров нужна больше, то целое число в иф поменять на количество вложенностей
 

lolmode

Пользователь
Регист
17 Май 2024
Сообщения
15
Реакции
2
Если кому интересно, то проведя 18 часов в дебагере проблема все же решилась
Помимо наработок в посте выше, нужно зайти в файл /mg-core/lib/moguta.php в нем найти метод convertFastCpuProduct
и поменять
Код:
 if (1 < $countSection && MG::getSetting("shortLink") == "true") {
                    MG::redirect("/" . $productUrl, "301");
на
Код:
 if (2 < $countSection && MG::getSetting("shortLink") == "true") {
                    MG::redirect("/тут параметр который вам нужен/" . $productUrl, "301");
если вложенность параметров нужна больше, то целое число в иф поменять на количество вложенностей
Стремление и труд всё перетрут, вы молодец! Получается вложенные директории задаются в catalog.php, а их количество в moguta.php
Но вот если директории разные и их несколько, то тут нужно еще допиливать... Но, это уже по потребностям.:bn:
 

Кирилл

Premium+
Регист
27 Апр 2017
Сообщения
33
Реакции
8
Стремление и труд всё перетрут, вы молодец! Получается вложенные директории задаются в catalog.php, а их количество в moguta.php
Но вот если директории разные и их несколько, то тут нужно еще допиливать... Но, это уже по потребностям.:bn:
В целом нет.
Если у вас есть какой-то признак по которому нужно различать директории, то их добавляете в условия через elseif или переписываете на switch case. и все так же будет работать.
Единственное, функция convertFastCpuProduct работает только при включенных коротких ссылках
 
Сверху