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

Нужен хак для добавления комментариев


 GenriGuff    04.04.2017    Стол заказов    303    8 комментариев

Нужен хак для добавления комментариев как на этом сайте чтобы можно было оставлять положительные, отрицательные и нейтральные отзывы.
Интересует цена.

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

irrwisch
Юзер

irrwisch - 4 апреля 2017 09:32 -

DLE умеет это из коробки

[positive-comment]текст[/positive-comment]
[negative-comment]текст[/negative-comment]
[neutral-comment]текст[/neutral-comment]

swart
Юзер

swart - 4 апреля 2017 20:02 -

1.0 SQL запрос
ALTER TABLE dle_comments ADD `mark` tinyint(1) NOT NULL DEFAULT '0';

2.0 Открыть engine/classes/comments.class.php

Найти
if( ! $row['user_group'] ) $row['user_group'] = 5;

перед вставить
// Вывод в шаблон оценок	
$row['mark'] = intval($row['mark']);

if( $row['mark'] == 1 ) {	
	$tpl->set( '[mark-positive]', "" );
	$tpl->set( '[/mark-positive]', "" );
	$tpl->set_block( "'\\[mark-negative\\](.*?)\\[/mark-negative\\]'si", "" );
    $tpl->set_block( "'\\[mark-neutral\\](.*?)\\[/mark-neutral\\]'si", "" );	
} elseif( $row['mark'] == 2 ) {	
	$tpl->set( '[mark-negative]', "" );
	$tpl->set( '[/mark-negative]', "" );
	$tpl->set_block( "'\\[mark-positive\\](.*?)\\[/mark-positive\\]'si", "" );
	$tpl->set_block( "'\\[mark-neutral\\](.*?)\\[/mark-neutral\\]'si", "" );
} else {
	$tpl->set( '[mark-neutral]', "" );
	$tpl->set( '[/mark-neutral]', "" );
	$tpl->set_block( "'\\[mark-positive\\](.*?)\\[/mark-positive\\]'si", "" );
	$tpl->set_block( "'\\[mark-negative\\](.*?)\\[/mark-negative\\]'si", "" );
}

3.0 Открыть engine/modules/addcomments.php

Найти
$post_id = intval( $_POST['post_id'] );

После вставить
$mark = intval( $_POST['mark'] );

Найти 2 раза рядом
approve, parent

заменить на
approve, parent, mark

Найти 2 раза
'{$where_approve}', '{$parent}'

Заменить на
'{$where_approve}', '{$parent}', '{$mark}'

4.0 Открыть engine/modules/show.full.php

Найти
" . PREFIX . "_comments.parent,

После вставить
 " . PREFIX . "_comments.mark,

5.0 Открыть engine/ajax/addcomments.php

Найти
$_POST['question_answer'] = convert_unicode( $_POST['question_answer'], $config['charset'] );

Псоле вставить
$_POST['mark'] = intval( $_POST['mark'] );

Найти
" . PREFIX . "_comments.email as gast_email,

После вставить
 " . PREFIX . "_comments.mark as mark,

6.0 Открыть engine/ajax/comments.php

Найти
" . PREFIX . "_comments.email as gast_email,

После вставить
 " . PREFIX . "_comments.mark as mark,

7.0 Открыть engine/classes/js/dle_js.js (не сжатый файл)

Найти
post_id: form.post_id.value,

После вставить
 mark: form.mark.value,

8.0 Шаблон addcomments.tpl

вставить в нужное место
<select class="select" id="mark" name="mark">
    <option value="0">Нейтральный</option>
    <option value="1">Мне понравилось</option>
    <option value="2">Мне не понравилось</option>
</select>

9.0 Шаблон comments.tpl в нужное место конструкцию
[mark-negative]redBg[/mark-negative][mark-positive]greenBg[/mark-positive][mark-neutral]greyBg[/mark-neutral]

10.0 В стили .css задать обрамление.

Чистим кеш браузера!

Готово.

stopani
Юзер

stopani - 4 апреля 2017 21:27 -

При добавлении коммента ошибка
SyntaxError: expected expression, got '<'

Что не так? dle 10.1

GenriGuff
Юзер

GenriGuff - 8 апреля 2017 22:59 -

Огромное спасибо! Даже не ожидала) Остановилась на 7 пункте, в этом файле у меня нет такой записи post_id: form.post_id.value,
Как быть? и как понять не сжатый файл?

GenriGuff
Юзер

GenriGuff - 9 апреля 2017 00:16 -

Так-то вроде все заработало и без 7 пункта, только обрамление осталось, завтра сделаю, проверю.

stopani
Юзер

stopani - 4 апреля 2017 21:40 -

в консоли
TypeError: form.mark is undefined

swart
Юзер

swart - 5 апреля 2017 09:37 -

stopani, а все ли ты верно установил проверь?
mark гдето не переопределена.

Leg
Юзер

Leg - 22 апреля 2017 11:08 -

Кто подскажет в чем проблема, все сделал по инструкции. Кеш почистил.
Теперь, когда добавляю коммент и выбираю, например оценку "положительный", то вместо этого выходит "нейтральный".

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