Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Человекопонятные ЧПУ кириллических тегов

Человекопонятные ЧПУ кириллических тегов


     24.01.2012    Все вопросы » Хаки    4812

вопрос
Скажите пожлуйста, каким образом на странице тегов урл можно сделать понятными? А не вида /tags/%C1%F0%FE%F1+%C2%F1%E5%EC%EE%E3%F3%F9%E8%E9/

Хочется, чтобы было не так /tags/слово+слово/ , а так /tags/slovo+sovo/. Так ведь горазо красивее и понятнее.
Для чего вообще было делать эти каракули? Не понятно...

Ответил: ПафНутиЙ


Вижу три варианта:
1. Писать теги на англ языке.
2. Поставить utf версию движка.
3. Прписывать редиректом каждый кириллический тег в .htacsess

В общем то как ни крути - совершенно ненужные телодвижения.

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

Axel
Юзер

Axel - 28 января 2012 21:29 -

Просто киллометровые урл мало нравятся. Как вообще такие урл поисковики хавают?
И еще одно. Если я на m-films.net сделаю облако тегов открытым для поисковиков, не будут ли воспринимать теги, как дубли страниц, с таким оформлением короткой новости, как у меня...?

ПафНутиЙ
Админ

ПафНутиЙ - 6 октября 2012 09:12 -

Юзайте модуль TagFace - будут уникальные заголовки.

Каков вопрос - таков и ответ. Просто помните об этом.

Саня
Юзер

Саня - 18 октября 2012 01:00 -

спасибо за наводку, я пожалуй себе возьму, полезная штучка)))

alexey
Юзер

alexey - 6 октября 2012 04:50 -

Axel,
а почему они километровые? Не понятно как эту мертвую латиницу вообще кто-то хавает и понимает..

alexey
Юзер

alexey - 6 октября 2012 05:01 -

а красивее и понятнее будет выглядеть как раз на русском языке, а не кривой никчёмной и бедной латинице.. (которая судя по всему лишь искусственная поизводная от русского языка (5 Сенсаций Драгункина, например, в помощь)) Это латиница - мертвые каракули. А русский язык - Великий и Могучий.. Это просто некоторые вроде и говорящие по-русски, - сами слишком непонятны и непонятливы..

Sander
PHP-developer

Sander - 6 октября 2012 11:43 -

И почему это ваш ник написан на кривой никчемной латинице?...

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

alexey
Юзер

alexey - 6 октября 2012 20:00 -

разве это что-то меняет? Просто автоматически вбил, поторопился, а исправить нет возможности.. В будущем буду внимательнее.
А здесь вроде говорили о том, что написание: slovo+slovo, для кого-то более читабельно оказывается, чем: слово+слово.

kvantor
Юзер

kvantor - 11 сентября 2020 03:16 -

Ответ неверный. Хак всегда будет даже если не слишком универсальный.
Установка:
1. Открыть engine/modules/functions.php и найти:
function totranslit

Добавить выше:

2. Открыть engine/modules/show.full.php, show.short.php, show.custom.php и найти:
"tags/" . urlencode( $value )

Заменить на:
"tags/" . urlencode( convert_to_eng($value) )

3. Открыть engine/engine.php и найти:
$tag = @$db->safesql ( $tag );

Заменить на:
$eng_tag = convert_to_eng($tag);
if($eng_tag != $tag) {
	$url_eng_tag = $config['http_home_url'] . "tags/" . urlencode ( $eng_tag ) ."/";
	header("HTTP/1.0 301 Moved Permanently");
	header("Location: {$url_eng_tag}");
	die("Redirect");
}
$tag = @$db->safesql ( convert_to_rus($tag) );

Найти далее:
$url_page = $config['http_home_url'] . "tags/" . urlencode ( $tag );

Заменить на:
$url_page = $config['http_home_url'] . "tags/" . urlencode ( $eng_tag );

4. Открыть engine/modules/tagscloud.php и найти 2 раза:
"tags/".urlencode($value['tag'])

Заменить на:
"tags/".urlencode(convert_to_eng($value['tag']))

Готово!

Версия DLE: 12.1

dj-avtosh
PHP-developer

dj-avtosh - 11 сентября 2020 10:46 -

по какому ГОСТу Ваша функция конвертирует?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

kvantor
Юзер

kvantor - 12 сентября 2020 15:58 -

По первому попавшемуся, знаете транслит может различаться только в трех буквах так что едва ли это важно.

kvantor
Юзер

kvantor - 12 сентября 2020 22:06 -

Решение ниже считай как по ГОСТу)

kvantor
Юзер

kvantor - 12 сентября 2020 23:13 -

ГОСТ для тебя нашел 7.79-2000

dj-avtosh
PHP-developer

dj-avtosh - 12 сентября 2020 23:15 -

похвально

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

kvantor
Юзер

kvantor - 12 сентября 2020 22:06 -

Самое лучшее решение использующее встроенную в DLE функцию totranslit(), добавляет дополнительную колонку в раздел dle-tags, так что имеющуюся базу придется конвертировать.
Есть такой хак, но маленько не доработан.
Небольшой хак для тегов DLE, он преобразует ссылки облака тегов в транслит и записывает в базу. Есть проблемы, не работает в спидбар (выводится транслитом), не работают метатеги и не обновляется при редактировании новости, надо удалять теги и вписывать снова.

https://yadi.sk/i/X6tBt2dwsBSJq

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

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

наверх