Решено Как изменить вид URL трека?

madpitbull

Бывалый
Клиент
Сообщения
57
Реакции
4
Подскажите, как и где можно url поменять?
Хотелось бы, что бы все страницы заканчивались на .html
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
Штатными средствами изменить урл нельзя, только переделкой парсера URL.
 

madpitbull

Бывалый
Клиент
Сообщения
57
Реакции
4
Вы можете мне с этим помочь или может подскажете к кому обратиться?
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
Для версии скрипта 2.3 и выше, файл core/search.php, найти:

PHP:
$this->query = $this->MSE->clearQuery($explode_query[0]);
заменить на:

PHP:
$cleanString = $this->MSE->clearQuery($explode_query[0]);

if (preg_match('#html$#', $cleanString)):
    $this->query = @preg_replace(['#_#', '#\.html#'], [' ', ''], $cleanString);
else:
    $newUrl = @preg_replace('# #', '_', $cleanString) . ".html";
    $redirectLink = "/" . $this->MSE->config['key'] . "/" . $newUrl;
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: {$redirectLink}");
    exit();
endif;
в файле шаблона track-list.tpl, к сылкам добавить модификатор

|lower|replace:' ':'_'}.html

Пример:
HTML:
<a class="pajax-link" href="/{$config.key}/{$data_url|lower|replace:' ':'_'}.html">
   <span class="track-item__title-row">{$track.name|truncate:50}</span>
</a>
Ссылки на сайте примут вид:
/music/наргиз_баста_-_прощай_любимый_город.html

Правкой указанных выше регулярных выражений, можно настраивать по своему усмотрению.
 

mandat

Бывалый
Клиент
Сообщения
46
Реакции
6
Здравствуйте. URL трека в скрипте 3 версии можно поменять способом который указан в этой теме он рабочий?
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
@mandat Таким способом можно изменить URL страницы поиска. В предыдущих версиях страницы с отдельным треком не было, была только страница поиска со списком.
 

mandat

Бывалый
Клиент
Сообщения
46
Реакции
6
@mandat Таким способом можно изменить URL страницы поиска. В предыдущих версиях страницы с отдельным треком не было, была только страница поиска со списком.
Да понятно, но можно сделать такой вид ссылки трека? сайт.ру/mp3/наргиз_баста_-_прощай_любимый_город.html
 

mandat

Бывалый
Клиент
Сообщения
46
Реакции
6
так то для исполнителя не для трекера
 

night_music

Эксперт
Клиент
Сообщения
237
Реакции
52
Для версии скрипта 2.3 и выше, файл core/search.php, найти:

PHP:
$this->query = $this->MSE->clearQuery($explode_query[0]);
заменить на:

PHP:
$cleanString = $this->MSE->clearQuery($explode_query[0]);

if (preg_match('#html$#', $cleanString)):
    $this->query = @preg_replace(['#_#', '#\.html#'], [' ', ''], $cleanString);
else:
    $newUrl = @preg_replace('# #', '_', $cleanString) . ".html";
    $redirectLink = "/" . $this->MSE->config['key'] . "/" . $newUrl;
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: {$redirectLink}");
    exit();
endif;
в файле шаблона track-list.tpl, к сылкам добавить модификатор

|lower|replace:' ':'_'}.html

Пример:
HTML:
<a class="pajax-link" href="/{$config.key}/{$data_url|lower|replace:' ':'_'}.html">
   <span class="track-item__title-row">{$track.name|truncate:50}</span>
</a>
Ссылки на сайте примут вид:
/music/наргиз_баста_-_прощай_любимый_город.html

Правкой указанных выше регулярных выражений, можно настраивать по своему усмотрению.
Как сделать все аналогично для версии 3.2 ? Я так понимаю там совсем другой файл search.php
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
@night_music, Аналогично. Первая строка может немного отличаться, но логика не изменилась.
 
Сверху