Представляем на https://dle9.com/ хак Убираем xfsearch из ссылок поиска по доп полям для DLE 11.0 и выше.
Рабочий способ избавления от надоедливого xfsearch. Хак DLE 11.0 и выше убрать xfsearch из ссылок поиска по доп полям полностью уберет эту приставку из ссылок поиска по дополнительным новостям. Только для 11.0 и выше! Протестировано хак на DLE 11.2
Правок не много, приступим:
1. В файлах engine/modules/show.short.php, engine/modules/show.custom.php, engine/modules/topnews.php и два раза engine/modules/show.full.php
находим:
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" .$value[0]."/". urlencode( $value2 ) . "/\">" . $value2 . "</a>";
меняем на:
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] .$value[0]."/". urlencode( $value2 ) . "/\">" . $value2 . "</a>";
2. Открываем engine/engine.php находим:
$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("'", "'", $xf) );
или у вас может быть такая строчка!
$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("'", "'", $xf) );
и меняем на:
$url_page = $config['http_home_url'] . urlencode($_GET['xn']) . "/" . urlencode ( str_replace("'", "'", $xf) );
3. В файле .htaccess находим
RewriteRule ^xfsearch/(.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]
И после добавляем:
RewriteRule ^(year)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [L]
RewriteRule ^(year)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [L]
Для примера, мы добавили дополнительное поле "год", если у вас больше дополнительных полей как перекрестных ссылок - то добавьте нужные вам поля.
Автор хака: Kubo
Версия DLE: 11.0 и выше
Комментарии 8