Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru Стол заказов Цвет комментария в зависимости от радиокнопки

Цвет комментария в зависимости от радиокнопки


 paulg    12.11.2014    Стол заказов    1157    12

Надо реализовать следующее: в поле для ввода комментариев сделать две радиокнопки + и -, и в зависимости от того, какая нажата, меняется цвет фона комментария.
совместимость DLE версии от 10 и выше.
100 рублей

Комментарии пользователей (12)

trouble
24

74 | 22

trouble - 13 ноября 2014 19:44 - Юзер

Готов заплатить сумму побольше, если есть желающие реализовать данную конструкцию (в разумных пределах).

FastFud
50

1599 | 588

FastFud - 13 ноября 2014 21:59 - Юзер

Примерно так:
Выполнить sql запрос к вашей базе
ALTER TABLE `dle_comments` ADD `level` VARCHAR( 40 ) NOT NULL;
после, откройте addcomments.tpl и где нибудь добавьте:
<input type="radio" name="level" value="plus">
<input type="radio" name="level" value="minus">
после этого, откройте engine/modules/addcomments.php найти
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')" ); 
заменить на
$level = $_POST['level'];
if( $is_logged ) $db->query( "INSERT INTO " . PREFIX . "_comments (post_id, user_id, date, autor, email, text, ip, is_register, approve, level) values ('$post_id', '$member_id[user_id]', '$time', '$name', '$mail', '$comments', '$_IP', '1', '$where_approve', '$level')" );
после этого, откройте engine/classes/js/dle_js.js найти
comments: a.comments.value,
добавить после
 level: a.level.value,
после этого, открыть show.full.php найти запрос
$comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, lastdate, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'" . $where_approve . " ORDER BY date " . $config['comm_msort']; 
и после xfields добавить ,level после этого, открыть engine/classes/comments.class.php и найти примерно такое
$tpl->set( '{comment}'
после, поставить
$tpl->set( '{level}', $level);

paulg
5

paulg - 13 ноября 2014 22:29 - Юзер

FastFud,
спасибо, но где задается цвет? должны же быть стили..
зы. попробовал добавить комментарий гостем - он не появился.

FastFud
50

1599 | 588

FastFud - 13 ноября 2014 23:29 - Юзер

Если и к гостям, то придется в addcomments.php заменить то что я написал на
$level = $_POST['level'];
if( $is_logged ) $db->query( "INSERT INTO " . PREFIX . "_comments (post_id, user_id, date, autor, email, text, ip, is_register, approve, level) values ('$post_id', '$member_id[user_id]', '$time', '$name', '$mail', '$comments', '$_IP', '1', '$where_approve', '$level')" );
else $db->query( "INSERT INTO " . PREFIX . "_comments (post_id, date, autor, email, text, ip, is_register, approve, level) values ('$post_id', '$time', '$name', '$mail', '$comments', '$_IP', '0', '$where_approve'. '$level')" );
в comments.tpl используйте тег {level} - выведет plus или minus (используйте это как класс) .

paulg
5

paulg - 14 ноября 2014 00:30 - Юзер


Цитата: FastFud


прописал <div class="{level}">
но на странице почему-то передает пустое значение:

FastFud
50

1599 | 588

FastFud - 14 ноября 2014 14:50 - Юзер

А в базу данные записываются ?

paulg
5

paulg - 14 ноября 2014 15:21 - Юзер


Цитата: FastFud
А в базу данные записываются ?

в базу вроде записывает

luarvic
25 | 2

luarvic - 18 ноября 2014 15:56 - Юзер

А ничего что level не экранируется?
<input type="radio" name="level" value="МОКРЫЕ КИСКИ БЕСПЛАТНО БЕЗ СМС">

FastFud
50

1599 | 588

FastFud - 18 ноября 2014 16:10 - Юзер

if( $is_logged AND $level == "plus" OR $level == "minus" ) 
...

FastFud
50

1599 | 588

FastFud - 14 ноября 2014 14:56 - Юзер

$tpl->set( '{level}', $row['level']);

paulg
5

paulg - 14 ноября 2014 15:29 - Юзер

Цитата: FastFud
$tpl->set( '{level}', $row['level']);

воо.. теперь заработало... я самый счастливый человек)) спасибо вам))

trouble
24

74 | 22

trouble - 14 ноября 2014 17:46 - Юзер

Можно увидеть пример?

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