Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Вопросы КЭПу » После замены /xfsearch на /year /genre не правильно отображается /year/pade/2/..?

После замены /xfsearch на /year /genre не правильно отображается /year/pade/2/..?


     25.06.2015    Вопросы КЭПу    5098

вопрос
Здравствуйте, помогите разобраться с проблемой, после замены /xfsearch на норм названия /year /genre и тд, не отображаются нормальные названия на страницах /page/
http://wkino.net/genre/%D0%BA%D0%BE%D0%BC%D0%B5%D0%B4%D0%B8%D1%8F/
а точнее при переходе на 2 страницу в навигации внизу страницы открывается http://wkino.net/xfsearch/%D0%BA%D0%BE%D0%BC%D0%B5%D0%B4%D0%B8%D1%8F/page/2/ за место нужной http://wkino.net/genre/%D0%BA%D0%BE%D0%BC%D0%B5%D0%B4%D0%B8%D1%8F/

Если кто нибудь знает как решить данную проблему, помогите плз

вот сам хак:
Хак Дополнительные поля по категориям, позволяющий разделить в ссылках дополнительные поля вида гиперссылки на категории. Он будет полезен как кино-порталам, варезникам, кулинарным сайтам так и прочим.

Что же делает этот хак.

На тестовом сайте для экспериментов я создал два дополнительных поля
genre|Жанр произведения||text||1|1|0|0
year|Год выпуска||text||1|1|0|0

Изначально cms DLE позволяет сортировать по этим дополнительным полям по общей ссылке
сайт.ру/xfsearch/боевик
сайт.ру/xfsearch/2014

В хаке Меняем в адресе надоедливый xfsearch на более логичное слово я описал как изменить xfsearch на любое другое слово, которое вам по душе.
Теперь же идея вот в чём:
Подменить xfsearch на латинское название дополнительного поля, разделив их таким образом на категории.

Теперь наглядно.
Выше я описал данные из xfields.txt. Как видите у меня два дополнительных поля, назвал я их genre и year. Сейчас покажу как подменить ссылку сайт.ру/xfsearch/ на сайт.ру/genre/ и сайт.ру/year/.

Приступим к установке.
1. Ищем в файлах engine/modules/show.short.php, engine/modules/show.custom.php и два раза engine/modules/show.full.php
$value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";


Заменяем на
$value3[] = "<a href=\"" . $config['http_home_url'] . "".$preg_safe_name."/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";


Это заменит xfsearch на латинское название дополнительного поля.
2. В файле .htaccess ищем
RewriteRule ^xfsearch/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
RewriteRule ^xfsearch/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]


Вставляем ниже
RewriteRule ^genre/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
RewriteRule ^genre/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]
RewriteRule ^year/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
RewriteRule ^year/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]


Этим мы делаем редирект.

Понятное дело что у вас отличаются дополнительные поля от моих, у когото их больше. Вам нужно в .htaccess на каждое дополнительное поле отдельно вставлять
RewriteRule ^латинское название доп поля/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
RewriteRule ^латинское название доп поля/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]

Ответил: КЭП


После замены /xfsearch на /year /genre не правильно отображается /year/pade/2/..?

— Тогда мы идём к вам!

6 комментариев

wkino
Юзер

wkino - 25 июня 2015 17:36 -

как обычно

FastFud
Юзер

FastFud - 25 июня 2015 18:05 -

Откройте /engine/engine.php и отредактируйте под себя строки
$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("&#039;", "'", $xf) );
$user_query = "do=xfsearch&amp;xf=" . urlencode ( str_replace("&#039;", "'", $xf) );

wkino
Юзер

wkino - 25 июня 2015 19:22 -

Во спасибо больше, что то сам искал, не попалась эта тема(
Все, теперь все нормально работает)

Missis-masjas
Юзер

Missis-masjas - 30 июня 2015 01:39 -

извините, а смысл в этом хаке?? Всё равно как категория не будет работать. В плане, чтобы своё что-то вставить для опр. "категории" благодаря этому хаку

wkino
Юзер

wkino - 12 июля 2015 18:48 -

просто визуально лучше для пользователей

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх