DLE - Убрать с ЧПУ генерацию чисел перед транслитом.

12
palarmaz
На сайте с 05.04.2010
Offline
125
3819

Ребята, когда публикуется новость, к чпу прибавляется генерированное число. Нужно убрать генерацию чисел перед транслитом в чпу. Например при публикации новость имеет вид

httр://aaaaa.ру/soft/54784-serbina-ya-manikyur-pedikyur-sovety-stilista.html .

Где это можно сделать?

Мне нужно скачать и перезалить новости с DLE- так, чтобы сохранить чпу. А то при перезаливке новостей будет генерироваться новое число начиная с 1-цы.

LEOnidUKG
На сайте с 25.11.2006
Offline
1726
#1

Эти цифры это единственное на что ориентируется DLE при выводе новости :)

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Alex_Pol
На сайте с 15.02.2011
Offline
8
#2

Есть спец плагин, но количество запросов к БД увеличится на 1. И необходимо переделопатить более 12 файлов для установки этого плагина.

palarmaz
На сайте с 05.04.2010
Offline
125
#3
LEOnidUKG:
Эти цифры это единственное на что ориентируется DLE при выводе новости :)

Я как понимаю, Пользователь добавляет новость с названием:

Фитнес-маникюр: дизайн на коротких ногтях.

Получается скрипт формулирует число(цикл) ставит тире, а далее ставит из заголовка транслит:

http://aaaaa.ru/soft/54784-serbina-ya-manikyur-pedikyur-sovety-stilista.html

Мне нужно скачать и перезалить новости с DLE- так, чтобы сохранить чпу. А то при перезаливке новостей будет генерироваться новое число начиная с 1-цы.

Alex_Pol
На сайте с 15.02.2011
Offline
8
#4
palarmaz:

Мне нужно скачать и перезалить новости с DLE- так, чтобы сохранить чпу. А то при перезаливке новостей будет генерироваться новое число начиная с 1-цы.

Число не генерируется - число это поряковый номер новости. Если вы хотите изменять новость не через админку - то пользуйтесь UPDATE ом при работе с базой...

palarmaz
На сайте с 05.04.2010
Offline
125
#5
Alex_Pol:
Число не генерируется - число это поряковый номер новости. Если вы хотите изменять новость не через админку - то пользуйтесь UPDATE ом при работе с базой...

:)+1 Начинаю понимать. Думаю удалить таблицу id, затем заменив новости, опять добавить id. Подскажите пожалуйста mysql запрос для добавления id , а то в мускуле не очень.

Или же!!! Ну прикинем, пользователь добавляет новость. А от куда прописывается номер id? Мне кажется где то в файле php должна быть запись, которая проверяет последнее id в таблице, а затем прибавляет в цикле +1.

sashka_
На сайте с 27.01.2010
Offline
103
#6

чтоб добавить ид зайди в структуру и там будет в самом низу!

а вообще возьми сделай дамп и в другую базу вставь эти ид не изменятся, ну или тут на форуме поищи хак выкладывали, тогда в базе менять не чего не придётся

Знаю PHP, JS, jQuery. Помощь для вашего сайта. (/ru/forum/840509).
palarmaz
На сайте с 05.04.2010
Offline
125
#7

Мозг просто закипает:) Не все так просто как казалось. Уже не знаю что делать.

sashka_, а вообще возьми сделай дамп и в другую базу вставь эти ид не изменятся, ну или тут на форуме поищи хак выкладывали, тогда в базе менять не чего не придётся

Ну это совсем не то что нужно. Скачаю новости, исправлю их кроме заголовков. Заголовки будут точь в точь 1 в 1. Начинаю публикацию, чпу не меняется кроме ID. Он уже будет другой:(

nokto
На сайте с 04.06.2009
Offline
17
#8

1. В админке > настройки системы изменить ЧПУ на Тип 3.

2. Открываем файл .htaccess

Заменяем

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]

На

RewriteRule ^(.*)/(.*).html(/?)+$ index.php?subaction=showfull&news_name=$2 [L]

3. Открываем engine/engine.php

Ищем

$sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 0,1";

Заменяем на

$sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post WHERE alt_name ='$news_name' LIMIT 0,1";

4. Открываем engine/modules/show.short

$full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";

Заменяем на

$full_link = $config['http_home_url'] . $row['alt_name'] . ".html";

Только прийдется в каждом модуле изменять адрес на полную новость, или же не будет работать вывод. Выше показал как изменить в короткой новости.

vandamme
На сайте с 30.11.2008
Offline
675
#9

это очень напряжет выборку из базы данных, зачем это вам надо?

palarmaz
На сайте с 05.04.2010
Offline
125
#10

Уже пару часов ковыряю инет, и не нашел адекватного ответа на вопрос. Все пишут что сложно, и долго. Нужно писать специальный скрипт и т.д.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий