Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » перенаправление после добавления материала

перенаправление после добавления материала


     30.01.2013    перенаправление, добавление новостей    Все вопросы » Общие вопросы по PHP    5027

вопрос
Как сделать, чтобы после добавления материала мне не выводилась страница с текстом:

"Новость добавлена. Ваша статья была успешно добавлена в базу данных. Добавить еще или Вернуться назад"

А перенаправляло на добавленный материал или главную страницу?

DLE 9.7

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


Автор: MSW
Версия DLE: 9.5-9.7 //возможно и более старые
Сайт поддержки

Небольшой хак Show Added News добавляет возможность, при добавлении новости с сайта, сразу перейти на только что добавленную новость, так как по умолчанию DLE предлагает добавить ещё новость или вернуться назад.

Особенности - для перехода в добавленную новость формируется ссылка в зависимости от установленных настройке виде ЧПУ.

Установка хака Show Added News
Файл: /engine/modules/addnews.php
Найти:
if( $config['allow_alt_url'] == "yes" ) msgbox(

Добавить выше:
#****** Show Added News *** MSW * http://0-web.ru/ ******#
            if( $config['allow_alt_url'] == "yes" ) {
                if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
                    $category_id = intval( implode( ',', $catlist ) );
                    if( $category_id AND $config['seo_type'] == 2 ) {
                        $c_url = get_url( $category_id );
                        $full_link = "{$config['http_home_url']}{$c_url}/{$row['id']}-{$alt_name}.html";
                    } else {
                        $full_link = "{$config['http_home_url']}{$row['id']}-{$alt_name}.html";
                    }
                } else {
                    $full_link = $config['http_home_url'].date( 'Y/m/d/', $row['date'] ).$alt_name.".html";
                }
            } else {
                $full_link = "{$config['http_home_url']}index.php?newsid={$row['id']}";
            }
            $show_news = "Посмотреть новость";
#****** Show Added News *** MSW * http://0-web.ru/ ******#


Найти: (2 раза)
$lang[all_prev]

Добавить тут же:
{$lang['add_or']} {$show_news}

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

Lynat1k
Юзер

Lynat1k - 31 января 2013 00:56 -

$lang[all_prev] 
встречается 4 раза в файле! после которого добавлять?

DaivZ
Юзер

DaivZ - 31 января 2013 00:58 -

Найти: (2 раза)
<a href=\"{$config['http_home_url']}\">$lang[all_prev]</a>
Добавить тут же:
{$lang['add_or']} {$show_news}

Lynat1k
Юзер

Lynat1k - 31 января 2013 01:13 -

нашел, сразу после <a href=\"{$config['http_home_url']}\">$lang[all_prev]</a> добавил. но не работает.
и как я понял этот хак только показывает ссылку на добавленный материал. а нельзя сделать чтобы автоматически заходило на этот материал?

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

ПафНутиЙ - 31 января 2013 01:20 -

а если пользователь не хочет переходить к материалу? зачем решать за него?

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

Lynat1k
Юзер

Lynat1k - 31 января 2013 02:01 -

причем тут пользователь? добавлять материалы будет только админ, то есть я! поэтому делаю для своего удобства.

iwanowi4
Юзер

iwanowi4 - 31 января 2013 07:02 -

Цитата: Lynat1k
для своего удобства...

{$lang['add_or']} {$show_news}, header("Refresh: 1; url=$full_link");

как то так, наверно... ;-)

Lynat1k
Юзер

Lynat1k - 3 февраля 2013 18:47 -

не работает
Parse error: syntax error, unexpected T_STRING in /www/engine/modules/addnews.php on line 434

iwanowi4
Юзер

iwanowi4 - 6 февраля 2013 18:31 -

Цитата: Lynat1k
syntax error

если после этого ,
header("Refresh: 1; url=$full_link")
, то это ж не ответ, а совет и не проверенный... вот ещё совет:
, header("Refresh: 1; url={$full_link}")
;-) проверить нету возможности, ждите ответа от гуру.

nowheremany
Эксперт

nowheremany - 6 февраля 2013 23:32 -

Цитата: iwanowi4
Refresh: 1; url={$full_link}

Это для метатегов
А надо делать так, если уж перенаправлять. Хотя ИМХО не вижу смысла
header("Location: {$full_link}");

Благодарность принимаю тут Связь

dj-avtosh
PHP-developer

dj-avtosh - 6 февраля 2013 04:47 -

Я в ответе не увидел ни одного редиректа)) И кстати глупо столько кода городить, имея при себе last_insert_id )))

https://elkhan.ru
По заказам пишем сюда: @Rud00y

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

nowheremany
Эксперт

nowheremany - 6 февраля 2013 10:23 -

Кстати предже чем писать подобное, нужно посмотреть и если не доходит, то поставить хак.
Чтобы не выглядеть потом мудаком

Благодарность принимаю тут Связь

dj-avtosh
PHP-developer

dj-avtosh - 6 февраля 2013 12:34 -

Это мне?

https://elkhan.ru
По заказам пишем сюда: @Rud00y

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

nowheremany
Эксперт

nowheremany - 6 февраля 2013 13:17 -


Благодарность принимаю тут Связь

dj-avtosh
PHP-developer

dj-avtosh - 6 февраля 2013 23:02 -

Разговор зашел в тупик

https://elkhan.ru
По заказам пишем сюда: @Rud00y

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

MAPKOBKA
Юзер

MAPKOBKA - 10 июля 2013 20:02 -

Спасибо, решение рабочее. Для автоматического редиректа на модерируемую новость.
вот это
header("Location: {$full_link}");

вставить так.
  $show_news = "Посмотреть новость";
header("Location: {$full_link}");
#****** Show Added News *** MSW * http://0-web.ru/ ******#

MAPKOBKA
Юзер

MAPKOBKA - 10 июля 2013 20:11 -

Хм, не полностью работает, работает только при редактировании новости.

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

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

наверх