Dleshka.org
Авторизация

Хак Дополнительные поля по категориям

0
TipTop 10-11-2014 Хаки DLE 0 комментариев


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

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

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



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


Выше я описал данные из 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]



Легко и просто?)

Автор: DomiTori
CMS: любая версия DLE
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Авторизация