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

Как вставить в комментарии поле для вставки URL?


     22.11.2014    комментарии    Общие вопросы, Общие вопросы по вёрстке    2691

вопрос
При добавлении комментария пользователь вводит обычно логин и e-mail, как добавить поле URL?

Ответа пока нет


2 комментария

dimavdv
Юзер

dimavdv - 23 ноября 2014 14:29 -

в шаблоне addcomments.tpl добавляете куда вам угодно
<tr>
          <td class="label">URL:<span class="impot">*</span></td>
          <td><input type="text" name="name" id="name" class="f_input" /></td>
    </tr>

FastFud
Юзер

FastFud - 23 ноября 2014 16:24 -

Если я ошибаюсь, то извините. Если же нет, то
Откройте phpMyAdmin - выберите вашу базу данных и выполните SQL - ЗАПРОС
ALTER TABLE `dle_comments` ADD `url` VARCHAR( 40 ) NOT NULL;
после этого, откройте addcomments.tpl и в нужном вам месте вставьте
<input type="text" name="url" id="url" class="f_input">
после этого откройте /engine/modules/addcomments.php и найдите там
$name = $db->safesql( $parse->process( trim( $_POST['name'] ) ) );
и после этой строки поставьте
$url = $db->safesql( $parse->process( trim( $_POST['url'] ) ) );
далее, к примеру после
if( dle_strlen( $name, $config['charset'] ) > 40 ) {
    $stop[] = $lang['news_err_1'];
    $CN_HALT = TRUE;
}
поставить
if(!filter_var($url, FILTER_VALIDATE_URL)){
    $stop[] = "Ошибка! Введенный вами url не действителен.";
    $CN_HALT = TRUE;
}
далее, найдите
if( $is_logged ) $db->query( "INSERT INTO " . PREFIX . "_comments (post_id, user_id, date, autor, email, text, ip, is_register, approve) values ('$post_id', '$member_id[user_id]', '$time', '$name', '$mail', '$comments', '$_IP', '1', '$where_approve')" );
else $db->query( "INSERT INTO " . PREFIX . "_comments (post_id, date, autor, email, text, ip, is_register, approve) values ('$post_id', '$time', '$name', '$mail', '$comments', '$_IP', '0', '$where_approve')" );
approve заменить на approve, url и '$where_approve' заменить на '$where_approve', '$url'
после этого, откройте /engine/classes/js/dle_js.js и найдите функция отправки комментария
function doAddComments() {
в этой функции найдите
comments: a.comments.value, и после добавьте  url: a.url.value,
после этого, откройте /engine/modules/show.full.php и найдите там
$comments->query = "SELECT "
в запросе измените xfields на xfields, url после этого, откройте /engine/classes/comments.class.php и после
$this->intern_count ++; 
добавьте $tpl->set ('{url}', $row['url']);
в comments.tpl использовать тег {url}.

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

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

наверх