Все для DataLife Engine / DLE хаки / Хак для DLE / Убераем xfsearch из ссылок поиска по доп полям DLE 11.x

Убераем xfsearch из ссылок поиска по доп полям DLE 11.x


Представляем на 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("&#039;", "'", $xf) );


и меняем на:


$url_page = $config['http_home_url'] . urlencode($_GET['xn']) . "/" . urlencode ( str_replace("&#039;", "'", $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 и выше
  • 60

Комментарии 8

dle9.com от 2 марта 2017 09:16
Цитата: vennik
может вы мне подскажите, цифры выводятся нормально, а как сделать, чтобы выводило через доп поле теги на латинице? а то выходит что-то типа так %EA%F0%E0%F1%E8%E2%

перевести работу сайта в UTF-8

Конвертировать Базу Данных DLE utf-8 в windows-1251
vennik от 1 марта 2017 23:23
может вы мне подскажите, цифры выводятся нормально, а как сделать, чтобы выводило через доп поле теги на латинице? а то выходит что-то типа так %EA%F0%E0%F1%E8%E2%
vennik от 1 марта 2017 23:08
круто) все работает!
dle9.com от 12 февраля 2017 13:33
Цитата: vennik
уже с первого пункта ничего не могу найти. у вас точно правильная инструкция?

в первой строчки кода была ошибка исправлено
DomiTori от 12 февраля 2017 10:57
Цитата: Пафнyтий
А теперь включи голову и найди ошибку. Развелось школьников, да при том тупеньких каких. Офигеть.

Это кому адресовано было?)
dle9.com от 11 февраля 2017 06:19
Цитата: vennik
уже с первого пункта ничего не могу найти. у вас точно правильная инструкция?

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[]


меняем
if( $config['allow_alt_url'] ) $value3[] = "" . $value2 . "";
vennik от 11 февраля 2017 02:32
уже с первого пункта ничего не могу найти. у вас точно правильная инструкция?
Пафнyтий от 9 февраля 2017 17:04
А теперь включи голову и найди ошибку. Развелось школьников, да при том тупеньких каких. Офигеть.
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent