prowebber.ru - Тут есть все для настоящих вебмастеров

Мы в твиттере Наша страничка на FaceBook! Сообщество вебмастеров в VK Мы в телеграме!

PW — всё для вебмастера » Всё для DataLife Engine » DLE хаки » Дополнительные поля по категориям [любая версия DLE]

Дополнительные поля по категориям [любая версия DLE]

Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Дополнительные поля по категориям [любая версия DLE].

Дополнительные поля по категориям [любая версия DLE]


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


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

Предлогаю посмотреть демо работы хака





+11

Просмотры: 3374 :: Комментарии (14) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1hyper7

  • 10 ноября 2014 18:17
  • Регистрация: 21.05.2014
  • ICQ: --
  • Комментариев: 1
Нужная вещь, спасибо! bomb

0

#2DomiTori

  • 11 ноября 2014 04:34
  • Регистрация: 8.12.2012
  • ICQ: 643771141
  • Комментариев: 17
Цитата: hyper7
онятное дело что у вас отличаются дополнительные поля от моих, у когото их больше. Вам нужно в .htaccess на каждо

Не за что, в отличие от кодерлабы тут люди хоть благодарить умеют)

0

#3Sibiriak

  • 11 ноября 2014 04:53
  • Регистрация: 6.05.2012
  • ICQ: 1
  • Комментариев: 163
Да, реально нужный хак! У меня реализовано подобное..

Но есть вопрос:
Вот переходим мы на страницу, к примеру - http://site.com/genre/Русские_Комедии/ и видим там все фильмы, относящиеся к этому жанру....
А вот как мне на сделать мини описание этой страницы???
точнее мини описания всех своих доп полей??? для seo...

--------------------

0

#4DomiTori

  • 11 ноября 2014 16:18
  • Регистрация: 8.12.2012
  • ICQ: 643771141
  • Комментариев: 17
Sibiriak,
увы дополнительные поля не имеют своего айди в бд как например категории. делать скрипт перебирающий все доп поля, дабы вывести им описания бессмысленно, ибо нагрузка не к чему. подумав над твоим вопросом попробую колосально переделать один модуль под эти нужды. если выйдет поделюсь им. мне для моего киношного сайта тоже ведь пригодиться

+1

#5Sibiriak

  • 13 ноября 2014 13:19
  • Регистрация: 6.05.2012
  • ICQ: 1
  • Комментариев: 163
DomiTori,
Ок, было бы отлично!
А то я не нашел решения....

--------------------

0

#6DomiTori

  • 13 ноября 2014 15:14
  • Регистрация: 8.12.2012
  • ICQ: 643771141
  • Комментариев: 17
Sibiriak,
Увы с модулем не вышло. Доп поля так хаотически записываются в БД... Буду думать. На написание модуля с нуля пока не способен

0

#7Sibiriak

  • 14 ноября 2014 17:35
  • Регистрация: 6.05.2012
  • ICQ: 1
  • Комментариев: 163
DomiTori,
Не вышло - да и хрен с ним!
А то я вату словлю все свои жанры описывать))

--------------------

0

#8XyuAdmin

  • 16 ноября 2014 19:08
  • Регистрация: 16.11.2014
  • ICQ: --
  • Комментариев: 30
Не влияют на поисковых роботов?

0

#9Sibiriak

  • 19 ноября 2014 01:33
  • Регистрация: 6.05.2012
  • ICQ: 1
  • Комментариев: 163
XyuAdmin, влияют, если все грамотно сделать

--------------------

0

#10aluminoter

  • 16 декабря 2014 13:27
  • Регистрация: 10.04.2013
  • ICQ: --
  • Комментариев: 13
Вот только при пагинации не работает!!! все равно выдает xfsearch

0

#11aluminoter

  • 16 декабря 2014 16:02
  • Регистрация: 10.04.2013
  • ICQ: --
  • Комментариев: 13
Наверное надо что то поменять в файле engine.php но вот что???

0

#12aluminoter

  • 16 декабря 2014 17:08
  • Регистрация: 10.04.2013
  • ICQ: --
  • Комментариев: 13
Вообщем Sander мне ответил в dle-qaq.ru

В engine.php ищем:
$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("'", "'", $xf) );

Заменить на:
$url_page = $config['http_home_url'] . urlencode($_GET['xn']) . "/" . urlencode ( str_replace("'", "'", $xf) );



И в .htaccess писать так
RewriteRule ^(genre)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [L]
RewriteRule ^(genre)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [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]

И в погинации все работает как часы.

0

#13canda

  • 22 декабря 2014 12:28
  • Регистрация: 29.01.2012
  • ICQ: --
  • Комментариев: 9
Спасибо автору! И конечно aluminoter!

Вот только было бы круто если бы в результате выскочили только те новость в которых есть название дополнительного поля. А то так он ищет по всей новость и выводит те новости которые не по теме(

0

#14Feniks000

  • 1 июля 2015 21:19
  • Регистрация: 21.09.2013
  • ICQ: --
  • Комментариев: 14
  • Выкл.
Почему автор игнорирует???? Пишу в личку, он читает и молчит!! mad

0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

SkripTers.biz - Снова с вами

https://culabra.ru — Блог вЭбмастЭра

DCOReARTs.COM - Услуги веб-дизайна и графики

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Наши баннеры
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Нужна ли категория "Интернет магазины"?

Да
Нет

Архив новостей
Апрель 2018 (279)
Март 2018 (498)
Февраль 2018 (410)
Январь 2018 (141)
Декабрь 2017 (27)
Ноябрь 2017 (7)

Последние комментарии:

  • Hosting Ukraine
  • Яндекс.Метрика

Искать людей

Ваши переписки