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

Чтение RSS Мы в твиттере
РазделНазвание темыОтветовПоследний
Объявления, новости, предложения и отзывы Новый форум открыт! 11 raz0r
«    Январь 2018    »
ПнВтСрЧтПтСбВс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

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
Просмотры: 3247 Комментарии (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, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Январь 2018 (60)
Декабрь 2017 (27)
Ноябрь 2017 (7)
Октябрь 2017 (10)
Сентябрь 2017 (4)
Август 2017 (4)

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

Искать людей

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