Все для DataLife Engine / DLE хаки / Для любой версии DLE хак Доп. поля по категориям

Для любой версии DLE хак Доп. поля по категориям


Представляем для любой версии DLE хак Дополнительные поля по категориям. Что же делает этот хак для дле, лучше посмотреть на примере ниже, чтобы понять задумку.
Описание:
Сделать хаки для любой версии DLE, чтобы можно было разделить в ссылках дополнительные поля вида гиперссылки на категории. Сделав пару манипуляций, автору удалось вдохнуть жизнь в этот хак. Он будет полезен как кино-порталам, варезникам, кулинарным сайтам так и прочим.

Итак, что мы получаем после установки хака, к примеру:
На тестовом сайте для экспериментов был создана два дополнительных поля

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]

Вот и всё. Правда легко и просто?)

Название: Дополнительные поля по категориям [DLE ALL]
Автор: каждый кто додумался
Автор этого метода: DomiTori
CMS: любая версия DLE

Да, реально нужный хак! У меня реализовано подобное..

Dopolnitelnye-polya-po-kategoriyam-lyubaya-versiya-DLE.rar [20,78 Kb] (cкачиваний: 138)
  • 80

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

VovanShok от 28 декабря 2014 09:34
Всё разобрался wink
VovanShok от 28 декабря 2014 09:26
ой не то у меня нет полей для вода типо год, жанр
VovanShok от 28 декабря 2014 09:06
Блин всё сделал по инструкции проверять начел ошибка
MySQL Error!
MySQL error in file: \engine\inc\addnews.php at line 793
Error Number: 1054
The Error returned was:
Unknown column 'allow_rate' in 'field list'
SQL query:

INSERT INTO dle_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle, year, quality, director, actors) values ('2014-12-28 06:05:11', 'admin', 'Проверка', 'Проверка', '', 'Проверка', 'ПроверкаПроверка', 'ПроверкаПроверка', '1', 'proverka', '1', '1', '1', '0', '1', '1', '0', '', '', '1', '', '', 'Проверка', 'Проверка', 'Проверка', 'Проверка')


Что делать тестировал на 10.1
А запрос в базе данных MySQL надо делать?
Добавить комментарий

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

    • 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