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

Автозаолнение темы в личных сообщениях


     27.08.2011    персональное сообщение, хак    Все вопросы » Хаки    3763

вопрос
итак знатоки.. начинается новый раунд wink
внимание вопрос: Как сделать так, чтобы при отправке личного сообщения на сайте поле "Тема" не было обязательным, а при его не заполнении - автоматически подставлялся текст "Без темы"...
smile

Ответил: Sander


Вариант 1:
Открыть файл engine/modules/pm.php
После строки:
$subj = $db->safesql( $parse->process( trim( $_POST['subj'] ) ) );

Вставить:
if(empty($subj)) $subj = "Без темы";

Найти и удалить код:
document.getElementById('dle-comments-form').subj.value == '' ||



Открыть файл engine/ajax/pm.php
После строки:
$subj = $parse->process( trim( $_POST['subj'] ) );

Вставить:
if(empty($subj)) $subj = "Без темы";



Вариант 2:
Открыть файл pm.tpl
В самом начале файла вставить:
<script type="text/javascript">
function check_pm(){
    if(document.getElementById('dle-comments-form').subj.value == '') document.getElementById('dle-comments-form').subj.value = "Без темы";
    $("#dle-comments-form").submit();
    return;
};
</script>


Найти кнопку отправления формы, она может иметь аттрибут type="submit"
Пример:
<button type="submit" name="add" class="fbutton"><span>Отправить</span></button>

Заменить на:
<button type="button" onclick="check_pm();return;" name="add" class="fbutton"><span>Отправить</span></button>

Т.е. изменились type="button" и добавилось onclick="check_pm();return;"

Вариант 3 (самый простой):

Находим в pm.tpl
value="{subj}"
и меняем на:
value="Без темы" onfocus="this.value = '';"

Всё. теперь по молчанию будет стоять "Без темы" а при вводе темы - введённая тема.
Отредактировал 28-08-2011, 02:16 - ПафНутиЙ
Причина: добавил вариант три

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

DatiX
Юзер

DatiX - 27 августа 2011 14:31 -

все равно проверка проходит и выводит "Заполните все необходимые поля"

DatiX
Юзер

DatiX - 27 августа 2011 17:39 -

спасибо...
а код
document.getElementById('dle-comments-form').subj.value == '' ||

нужно у всех 3 местах удалить?

nowheremany
Эксперт

nowheremany - 27 августа 2011 20:18 -

Проще было бы в шаблон вставить Без темы или убрать в hidden. и без правки двига

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

Sander
PHP-developer

Sander - 27 августа 2011 21:44 -

Тоже вариант, но лучше оставлять возможность ввода своей темы.

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

Telegram: @sandev
Skype: Sander8804

DatiX
Юзер

DatiX - 27 августа 2011 21:52 -

вариант SANDERa мне больше подходит, так как действительно нужна возможность вводить тему...

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

ПафНутиЙ - 28 августа 2011 00:18 -

Добавил ещё один, самый простой вариант. smile

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

DatiX
Юзер

DatiX - 28 августа 2011 02:14 -

вот это разнообразие wink
но использовал вариант от Сандера... так как он внешне не влияет на вид формы...
ВСЕМ ПАСИБО!

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

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

наверх