Редактор темы

Реклама
Реклама
Реклама
Реклама

Вопрос? Спойлер для комментарий

  • Автор темы Автор темы Bayko
  • Дата начала Дата начала
Значит вы не верно установили, на этом у меня всё. Код полностью рабочий.
Все верно установлено, не передается параметр spoiler . При добавлении параметра в
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=addcomments", {
код отрабатывает на ура.
 
Все верно установлено, не передается параметр spoiler . При добавлении параметра в
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=addcomments", {
код отрабатывает на ура.
Да я забыл.
Terras установку поправил
 
Фух, спасибо мужики =) заработало после того как добавил

03d73ace7621346ad9ab53151ccd6e30.png

дошло)
 
Да я забыл.
Terras установку поправил
У меня всё хорошо работает, НО! после редактирования комментария вот такая беда -
Текст спойлера
Почему так? и как исправить? И ещё в админке прикрутить бы в модерации комментариев кнопку СПОЙЛЕР! было бы круто.
 

Вложения

  • Screenshot_9.png
    Screenshot_9.png
    12,1 КБ · Просмотры: 79
  • Screenshot_10.png
    Screenshot_10.png
    4,9 КБ · Просмотры: 76
У меня всё хорошо работает, НО! после редактирования комментария вот такая беда -
Текст спойлера
Почему так? и как исправить? И ещё в админке прикрутить бы в модерации комментариев кнопку СПОЙЛЕР! было бы круто.
Чтобы исправить все эти косяки я заказывал у автора доработку, свяжись с ним, думаю он и тебе продаст её.
 
Чтобы исправить все эти косяки я заказывал у автора доработку, свяжись с ним, думаю он и тебе продаст её.
Автор трудится не покладая рук над обновлениями своих модулей, ты чего, какие доработки
 
Чтобы исправить все эти косяки я заказывал у автора доработку, свяжись с ним, думаю он и тебе продаст её.
Что-то он не выходит на связь со мной, и в описании в телеге "заказы не принимаю"
 
DELETE
 
Последнее редактирование:
DELETE
 
Последнее редактирование:
У меня всё хорошо работает, НО! после редактирования комментария вот такая беда -
Текст спойлера
Почему так? и как исправить? И ещё в админке прикрутить бы в модерации комментариев кнопку СПОЙЛЕР! было бы круто.
Что бы после редактирования не было
Код:
[spoiler=Спойлер] текст[/spoiler]
А становился именно спойлер.

Для этого проделываем все заново по инструкции начиная с пункта
Код:
2. Открываем файл dle_js.js с папки Developer/uncompressed что идёт в архиве движка.
Только в данном пункте добавляем еще одну правку а именно
находим

Код:
function ajax_save_comm_edit( c_id, area )
{

Внутри данной функции находим
Код:
ShowLoading('');
после ставим

Код:
var spoiler = 0;
    if(comm_txt.match(/\[spoiler\=/)){
        spoiler = 1;
    }
еще ниже заменяем
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=editcomments", { id: c_id,  comm_txt: comm_txt, area: area, action: "save", user_hash: dle_login_hash

На
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=editcomments", { id: c_id, spoiler: spoiler, comm_txt: comm_txt, area: area, action: "save", user_hash: dle_login_hash

Далее открываем плагин и в действиях
добавляем
Имя файла
Код:
engine/ajax/editcomments.php
Действие 1: Найти и добавить ниже

И установить такие данные:
Найти :
Код:
$buffer = stripslashes( $comm_txt );
Добавить ниже:
Код:
$comm_txt = preg_replace('#\[spoiler=.*?\].*?\[\/spoiler\]#is','',$comm_txt);

Действие 2 : Найти и добавить ниже
Найти :
Код:
if ($config['allow_comments_wysiwyg'] == "-1") $parse->allowbbcodes = false;
Добавить ниже:
Код:
if ($config['allow_comments_wysiwyg'] == "-1" && isset($_REQUEST['spoiler']) && $_REQUEST['spoiler']) $_POST['comm_txt'] = '[spoiler=Спойлер]' . $_POST['comm_txt'] . '[/spoiler]';
Действие 3 : Найти и добавить ниже
Найти :
Код:
<input class="bbcodes cancelchanges" title="$lang[bb_t_cancel]" type="button" onclick="ajax_cancel_comm_edit('{$id}'); return false;" value="$lang[bb_b_cancel]">
Добавить ниже:
Код:
<input type="checkbox" name="spoiler" id="spoiler" value="1">Спойлер


ЧТОБЫ РАБОТАЛО ПРИ РЕДАКТИРОВАНИИ ИЗ АДМИНКИ:
открыть
engine/inc/comments.php
найти
Код:
function ajax_save_comm_edit( c_id, area )
{
внутри функции найти:
Код:
ShowLoading('');
ниже вставить

Код:
var spoiler = 0;
    if(comm_txt.match(/\[spoiler\=/)){
        spoiler = 1;
    }else if($('#spoiler').val() == 1){
        spoiler = 1;
    }

еще ниже найти:
Код:
$.post("engine/ajax/controller.php?mod=editcomments", { id: c_id, comm_txt: comm_txt, area: area, action: "save", user_hash: "{$dle_login_hash}" }
заменить на:
Код:
$.post("engine/ajax/controller.php?mod=editcomments", { id: c_id, spoiler: spoiler, comm_txt: comm_txt, area: area, action: "save", user_hash: "{$dle_login_hash}" }
Чистим кэши пробуем.

Если будет желание угостить кофе или печеньками: Z053715869075
 
Последнее редактирование:
Что бы после редактирования не было
Код:
[spoiler=Спойлер] текст[/spoiler]
А становился именно спойлер.

Для этого проделываем все заново по инструкции начиная с пункта
Код:
2. Открываем файл dle_js.js с папки Developer/uncompressed что идёт в архиве движка.
Только в данном пункте добавляем еще одну правку а именно
находим

Код:
function ajax_save_comm_edit( c_id, area )
{

Внутри данной функции находим
Код:
ShowLoading('');
после ставим

Код:
var spoiler = 0;
    if(comm_txt.match(/\[spoiler\=/)){
        spoiler = 1;
    }
еще ниже заменяем
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=editcomments", { id: c_id,  comm_txt: comm_txt, area: area, action: "save", user_hash: dle_login_hash

На
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=editcomments", { id: c_id, spoiler: spoiler, comm_txt: comm_txt, area: area, action: "save", user_hash: dle_login_hash

Далее открываем плагин и в действиях
добавляем
Имя файла
Код:
engine/ajax/editcomments.php
Действие 1: Найти и добавить ниже

И установить такие данные:
Найти :
Код:
$buffer = stripslashes( $comm_txt );
Добавить ниже:
Код:
$comm_txt = preg_replace('#\[spoiler=.*?\].*?\[\/spoiler\]#is','',$comm_txt);

Действие 2 : Найти и добавить ниже
Найти :
Код:
if ($config['allow_comments_wysiwyg'] == "-1") $parse->allowbbcodes = false;
Добавить ниже:
Код:
if ($config['allow_comments_wysiwyg'] == "-1" && isset($_REQUEST['spoiler']) && $_REQUEST['spoiler']) $_POST['comm_txt'] = '[spoiler=Спойлер]' . $_POST['comm_txt'] . '[/spoiler]';
Действие 3 : Найти и добавить ниже
Найти :
Код:
<input class="bbcodes cancelchanges" title="$lang[bb_t_cancel]" type="button" onclick="ajax_cancel_comm_edit('{$id}'); return false;" value="$lang[bb_b_cancel]">
Добавить ниже:
Код:
<input type="checkbox" name="spoiler" id="spoiler" value="1">Спойлер


ЧТОБЫ РАБОТАЛО ПРИ РЕДАКТИРОВАНИИ ИЗ АДМИНКИ:
открыть
engine/inc/comments.php
найти
Код:
function ajax_save_comm_edit( c_id, area )
{
внутри функции найти:
Код:
ShowLoading('');
ниже вставить

Код:
var spoiler = 0;
    if(comm_txt.match(/\[spoiler\=/)){
        spoiler = 1;
    }else if($('#spoiler').val() == 1){
        spoiler = 1;
    }

еще ниже найти:
Код:
$.post("engine/ajax/controller.php?mod=editcomments", { id: c_id, comm_txt: comm_txt, area: area, action: "save", user_hash: "{$dle_login_hash}" }
заменить на:
Код:
$.post("engine/ajax/controller.php?mod=editcomments", { id: c_id, spoiler: spoiler, comm_txt: comm_txt, area: area, action: "save", user_hash: "{$dle_login_hash}" }
Чистим кэши пробуем.

Если будет желание угостить кофе или печеньками: Z053715869075

Спасибо, поставил проверил всё работает! Благодарю, скинул на кофе с печеньками) И в лс ответь как сможешь...
 
Наткнулся, потестил на DLE 15.3. При редактирование сообщения, если в тексте используется тег spoiler, выдает ошибку что сообщение слишком длинное. В остальном очень даже полезная штука.
 

В
от может кому пригодится, автоматическое скрытие всех комментариев.

Код:
<script type="text/javascript">[/COLOR][/SIZE][/FONT][/I][/CENTER]
[I][FONT=Tahoma][SIZE=3][COLOR=#000000]
[CENTER]function show_hide(comment_id) {
   var comment = document.getElementById(comment_id);
   var checkbox = document.getElementById("spoiler_"+comment_id);

   if (checkbox.checked) {
      comment.style.display = "block";
   } else {
      comment.style.display = "none";
   }
}

var comments = document.querySelectorAll('.dle-comment');
for (var i = 0; i < comments.length; i++) {
   var comment = comments[i];
   var comment_id = comment.getAttribute('id');

   var checkbox = document.createElement('input');
   checkbox.type = "checkbox";
   checkbox.id = "spoiler_"+comment_id;
   checkbox.onclick = function() { show_hide(comment_id); };

   var label = document.createElement('label');
   label.htmlFor = "spoiler_"+comment_id;
   label.appendChild(document.createTextNode("Показать комментарий"));

   var div = document.createElement('div');
   div.appendChild(checkbox);
   div.appendChild(label);

   comment.parentNode.insertBefore(div, comment.nextSibling);
}
</script>

 
Добрый день всем знатаком!
Ребята подскажите как сделать (checkbox спойлер) для комментарий без редактора?Посмотреть вложение 29171

Видимо я что-то не понимаю. Какой смысл ставить на весь комментарий чебокс? Ну поставил ты чебокс, если в коменте есть спойлер - нажимаешь на чебокс и он скроет весь коммент (?) А зачем?
Лучше же делать так
1.png
Или в этой ветке код именно это и делает?

Но ведь есть стандартный тег DLE:
Код:
[spoiler=Спойлер] текст[/spoiler]
В /language/... меняешь "скрытый текст" (или как там) на Спойлер и вот тебе тот же спойлер. Правда как на резке не получиться - это минус (в стандартном теге DLE переносит строку).

Зачем городить столько кода/неудобных правок? В чем я не прав? Покажите изображения с вашими комментами и спойлерами, в которых используется код из этой темы.
 
Автор темы
Видимо я что-то не понимаю. Какой смысл ставить на весь комментарий чебокс? Ну поставил ты чебокс, если в коменте есть спойлер - нажимаешь на чебокс и он скроет весь коммент (?) А зачем?
Лучше же делать так
Посмотреть вложение 30009
Или в этой ветке код именно это и делает?

Но ведь есть стандартный тег DLE:
Код:
[spoiler=Спойлер] текст[/spoiler]
В /language/... меняешь "скрытый текст" (или как там) на Спойлер и вот тебе тот же спойлер. Правда как на резке не получиться - это минус (в стандартном теге DLE переносит строку).

Зачем городить столько кода/неудобных правок? В чем я не прав? Покажите изображения с вашими комментами и спойлерами, в которых используется код из этой темы.

Лично я не использую редактор для комментарии, стоит без редактора, мне например необходимо только спойлер и все, остальные там смаилики все не нужны, вот и все, + у тебя показатели производительности становится выше.
 
Автор трудится не покладая рук над обновлениями своих модулей, ты чего, какие доработки
Вау, у человека бывает жизнь и дела и он не сидит за пк 24/7. Даже такое бывает, представь себе.
 

Похожие темы Последние темы Популярные темы

Назад
Сверху