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

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

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

  • Автор темы Автор темы Bayko
  • Дата начала Дата начала

Bayko

Бывалый
Регистрация
30 Июл 2019
Сообщения
115
Рейтинг реакций
5
Баллы
18
1/3
Автор темы
Добрый день всем знатаком!
Ребята подскажите как сделать (checkbox спойлер) для комментарий без редактора?upload_2022-12-29_15-28-7.png
 
Тоже интересует, если у кого есть решение готов купить.
 
Тоже интересует, если у кого есть решение готов купить.
Добрый день всем знатаком!
Ребята подскажите как сделать (checkbox спойлер) для комментарий без редактора?Посмотреть вложение 29171

С наступающим новым годом, вот подарок так сказать.

1. Устанавливаем плагин.
2. Открываем файл dle_js.js с папки Developer/uncompressed что идёт в архиве движка.
Находим
Код:
if ( form.mail ) {
Выше вставляем
Код:
spoiler = 0;
if (form.spoiler) {
    if (form.spoiler.checked == true) {
       spoiler= 1;
    }
}
Потом заменить
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=addcomments", { post_id: form.post_id.value,
На
Код:
$.post(dle_root + "engine/ajax/controller.php?mod=addcomments", { post_id: form.post_id.value, spoiler: spoiler,
Переходим на сайт JavaScript Minifier & Compressor | Toptal® вставляем весь код файла и нажимаем Minify, потом копируем код снизу в свой файл dle_js.js на сервере в папке /engine/classes/js
3. В файле addcomments.tpl в нужном месте вставляем
HTML:
<input type="checkbox" name="spoiler" id="spoiler" value="1">Спойлер
4. Чистим у себя кэш браузера и кэш в админ панели.
5. Всё.

Если вдруг захотите отблагодарить, вот реквизиты WMZ Z228640084773
 

Вложения

Последнее редактирование:
  • Нравится
Реакции: Heiz
С наступающим новым годом, вот подарок так сказать.

1. Устанавливаем плагин.
2. Открываем файл dle_js.js с папки Developer/uncompressed что идёт в архиве движка.
Находим
Код:
if ( form.mail ) {
Выше вставляем
Код:
spoiler = 0;
if (form.spoiler) {
    if (form.spoiler.checked == true) {
       spoiler= 1;
    }
}
Переходим на сайт JavaScript Minifier & Compressor | Toptal® вставляем весь код файла и нажимаем Minify, потом копируем код снизу в свой файл dle_js.js на сервере в папке /engine/classes/js
3. В файле addcomments.tpl в нужном месте вставляем
HTML:
<input type="checkbox" name="spoiler" id="spoiler" value="1">Спойлер
4. Чистим у себя кэш браузера и кэш в админ панели.
5. Всё.

Если вдруг захотите отблагодарить, вот реквизиты WMZ Z228640084773
И тебя с наступающим!
Спасибо за решение, завтра днём установлю и обязательно отблагодарю.
 
С наступающим новым годом, вот подарок так сказать.

1. Устанавливаем плагин.
2. Открываем файл dle_js.js с папки Developer/uncompressed что идёт в архиве движка.
Находим
Код:
if ( form.mail ) {
Выше вставляем
Код:
spoiler = 0;
if (form.spoiler) {
    if (form.spoiler.checked == true) {
       spoiler= 1;
    }
}
Переходим на сайт JavaScript Minifier & Compressor | Toptal® вставляем весь код файла и нажимаем Minify, потом копируем код снизу в свой файл dle_js.js на сервере в папке /engine/classes/js
3. В файле addcomments.tpl в нужном месте вставляем
HTML:
<input type="checkbox" name="spoiler" id="spoiler" value="1">Спойлер
4. Чистим у себя кэш браузера и кэш в админ панели.
5. Всё.

Если вдруг захотите отблагодарить, вот реквизиты WMZ Z228640084773
Добавляется как обычный комментарий, не отличается от других, по факту тут добавляется просто чекбокс и все, в сам комментарий ничего не добавляется
 
Последнее редактирование:
Добавляется как обычный комментарий, не отличается от других, по факту тут добавляется просто чекбокс и все, в сам комментарий ничего не добавляется
Значит не верно установили.
 
Установил точно верно, вопрос даже в другом, какой код меняет стиль у комментария? Если его нет то ничего и не поменяется
Никакой. Плагин если что, только для добавления комментариев без редактора.
 
Никакой. Плагин если что, только для добавления комментариев без редактора.
Так вот я и спрашиваю как мне для комментов спойлеров сделать свой стиль, сейчас по факту просто чекбокс добавляется, только толку от него? (без редактора)
В самом комментарии ничего не добавляется вот я к чему
 
Установил точно верно, вопрос даже в другом, какой код меняет стиль у комментария? Если его нет то ничего и не поменяется
В коде должно проставляться это
Код:
'[spoiler=Спойлер]' . $_POST['comments'] . '[/spoiler]'
Но при условии что параметр
Код:
spoiler
будет иметь положительный результат. Но скорее всего что параметр имеет все время отрицательный результат, и поэтому не происходит никакой замены.
 
Я так понимаю не добавляется

Код прописал
36a9c0d4c22503c40ab6829441ab3f09.png


Плагин стоит без ошибок
29401cbd8546c592249fa7f6b6e4951a.png


Чекбокс есть
50957d29a7f4b45c30b7713af019d4a8.png


Результата нет =)))) первый коммент с галкой второй без
9b5dc7bd3e484985a5b29d09e940b0f7.png
 
Я так понимаю не добавляется

Код прописал
36a9c0d4c22503c40ab6829441ab3f09.png


Плагин стоит без ошибок
29401cbd8546c592249fa7f6b6e4951a.png


Чекбокс есть
50957d29a7f4b45c30b7713af019d4a8.png


Результата нет =)))) первый коммент с галкой второй без
9b5dc7bd3e484985a5b29d09e940b0f7.png
А вы сделали правки дальше, этот js код нужно сжать и закинуть в файл engine/classes/js/dle_js.js + у вас может быть кэш js файла.
 
А вы сделали правки дальше, этот js код нужно сжать и закинуть в файл engine/classes/js/dle_js.js + у вас может быть кэш js файла.
Конечно, да даже если не сжимать не работает. Кэш скинул
 
Конечно, да даже если не сжимать не работает. Кэш скинул
1 /admin.php?mod=options&action=syscon выбрать вкладку комментарии

В Редактор для комментариев и персональных сообщений на сайте: без редактора
далее

Форма вывода ответа на комментарий: Под комментарием без редактора

далее в файле engine/classes/js/dle_js.js
ниже поле того где ставили код от Пана ставите после

Код:
post_id: e.post_id.value,
        comments: e.comments.value,
Код:
spoiler: spoiler,

должно быть типа такого

Код:
function doAddComments() {
    var e = document.getElementById("dle-comments-form");
    
    var o = "",
        t = "",
        i = "",
        n = "",
        a = "0",
        d = "";
    return (("1" == dle_wysiwyg || "2" == dle_wysiwyg) && ("2" == dle_wysiwyg && tinyMCE.triggerSave(), o = "wysiwyg"), "" == e.name.value) ? (DLEalert(dle_req_field[0], dle_info), !1) : "" == e.comments.value ? (DLEalert(dle_req_field[1], dle_info), !1) : (e.question_answer && (t = e.question_answer.value), e.sec_code && (i = e.sec_code.value), "1" == dle_captcha_type ? "undefined" != typeof grecaptcha && (n = grecaptcha.getResponse()) : "2" == dle_captcha_type && (n = $("#g-recaptcha-response").val()), e.allow_subscribe && !0 == e.allow_subscribe.checked && (a = "1"), spoiler = 0, console.log(e), e.spoiler && !0 == e.spoiler.checked && (spoiler = 1), e.mail && (d = e.mail.value), ShowLoading(""), $.post(dle_root + "engine/ajax/controller.php?mod=addcomments", {
        post_id: e.post_id.value,
        comments: e.comments.value,
        spoiler: spoiler,
        name: e.name.value,
        mail: d,
        editor_mode: o,
        skin: dle_skin,
        sec_code: i,
        question_answer: t,
        g_recaptcha_response: n,
        allow_subscribe: a,
        user_hash: dle_login_hash
    }, function(o) {
 
1 /admin.php?mod=options&action=syscon выбрать вкладку комментарии

В Редактор для комментариев и персональных сообщений на сайте: без редактора
далее

Форма вывода ответа на комментарий: Под комментарием без редактора

далее в файле engine/classes/js/dle_js.js
ниже поле того где ставили код от Пана ставите после

Код:
post_id: e.post_id.value,
        comments: e.comments.value,
Код:
spoiler: spoiler,

должно быть типа такого

Код:
function doAddComments() {
    var e = document.getElementById("dle-comments-form");
   
    var o = "",
        t = "",
        i = "",
        n = "",
        a = "0",
        d = "";
    return (("1" == dle_wysiwyg || "2" == dle_wysiwyg) && ("2" == dle_wysiwyg && tinyMCE.triggerSave(), o = "wysiwyg"), "" == e.name.value) ? (DLEalert(dle_req_field[0], dle_info), !1) : "" == e.comments.value ? (DLEalert(dle_req_field[1], dle_info), !1) : (e.question_answer && (t = e.question_answer.value), e.sec_code && (i = e.sec_code.value), "1" == dle_captcha_type ? "undefined" != typeof grecaptcha && (n = grecaptcha.getResponse()) : "2" == dle_captcha_type && (n = $("#g-recaptcha-response").val()), e.allow_subscribe && !0 == e.allow_subscribe.checked && (a = "1"), spoiler = 0, console.log(e), e.spoiler && !0 == e.spoiler.checked && (spoiler = 1), e.mail && (d = e.mail.value), ShowLoading(""), $.post(dle_root + "engine/ajax/controller.php?mod=addcomments", {
        post_id: e.post_id.value,
        comments: e.comments.value,
        spoiler: spoiler,
        name: e.name.value,
        mail: d,
        editor_mode: o,
        skin: dle_skin,
        sec_code: i,
        question_answer: t,
        g_recaptcha_response: n,
        allow_subscribe: a,
        user_hash: dle_login_hash
    }, function(o) {
Вообще такого кода нет

PHP:
function doAddComments(){

    var form = document.getElementById('dle-comments-form');
    var editor_mode = '';
    var question_answer = '';
    var sec_code = '';
    var g_recaptcha_response= '';
    var allow_subscribe= "0";
    var mail = '';
    
    if (dle_wysiwyg == "1" || dle_wysiwyg == "2") {

        if (dle_wysiwyg == "2") {
            tinyMCE.triggerSave();
        }

        editor_mode = 'wysiwyg';

    }
    
    if (form.name.value == '')
    {
        DLEalert ( dle_req_field[0], dle_info );
        return false;
    }
    
    if (form.comments.value == '')
    {
        DLEalert ( dle_req_field[1], dle_info );
        return false;
    }

    if ( form.question_answer ) {

       question_answer = form.question_answer.value;

    }

    if ( form.sec_code ) {

       sec_code = form.sec_code.value;

    }

    if ( dle_captcha_type == "1"  ) {
        if ( typeof grecaptcha != "undefined"  ) {
               g_recaptcha_response = grecaptcha.getResponse();
           }
    } else if (dle_captcha_type == "2") {
        g_recaptcha_response = $('#g-recaptcha-response').val();
    }

    if ( form.allow_subscribe ) {

        if ( form.allow_subscribe.checked == true ) {
    
           allow_subscribe= "1";

        }

    }

    spoiler = 0;
    if (form.spoiler) {
        if (form.spoiler.checked == true) {
           spoiler= 1;
        }
    }
    
    if ( form.mail ) {

       mail = form.mail.value;

    }
 
Вообще такого кода нет

PHP:
function doAddComments(){

    var form = document.getElementById('dle-comments-form');
    var editor_mode = '';
    var question_answer = '';
    var sec_code = '';
    var g_recaptcha_response= '';
    var allow_subscribe= "0";
    var mail = '';
   
    if (dle_wysiwyg == "1" || dle_wysiwyg == "2") {

        if (dle_wysiwyg == "2") {
            tinyMCE.triggerSave();
        }

        editor_mode = 'wysiwyg';

    }
   
    if (form.name.value == '')
    {
        DLEalert ( dle_req_field[0], dle_info );
        return false;
    }
   
    if (form.comments.value == '')
    {
        DLEalert ( dle_req_field[1], dle_info );
        return false;
    }

    if ( form.question_answer ) {

       question_answer = form.question_answer.value;

    }

    if ( form.sec_code ) {

       sec_code = form.sec_code.value;

    }

    if ( dle_captcha_type == "1"  ) {
        if ( typeof grecaptcha != "undefined"  ) {
               g_recaptcha_response = grecaptcha.getResponse();
           }
    } else if (dle_captcha_type == "2") {
        g_recaptcha_response = $('#g-recaptcha-response').val();
    }

    if ( form.allow_subscribe ) {

        if ( form.allow_subscribe.checked == true ) {
   
           allow_subscribe= "1";

        }

    }

    spoiler = 0;
    if (form.spoiler) {
        if (form.spoiler.checked == true) {
           spoiler= 1;
        }
    }
   
    if ( form.mail ) {

       mail = form.mail.value;

    }
Еще ниже опускаетесь до первого
Код:
ShowLoading(""), $.post(dle_root + "engine/ajax/controller.php?mod=addcomments", {
 
Вообще такого кода нет

PHP:
function doAddComments(){

    var form = document.getElementById('dle-comments-form');
    var editor_mode = '';
    var question_answer = '';
    var sec_code = '';
    var g_recaptcha_response= '';
    var allow_subscribe= "0";
    var mail = '';
   
    if (dle_wysiwyg == "1" || dle_wysiwyg == "2") {

        if (dle_wysiwyg == "2") {
            tinyMCE.triggerSave();
        }

        editor_mode = 'wysiwyg';

    }
   
    if (form.name.value == '')
    {
        DLEalert ( dle_req_field[0], dle_info );
        return false;
    }
   
    if (form.comments.value == '')
    {
        DLEalert ( dle_req_field[1], dle_info );
        return false;
    }

    if ( form.question_answer ) {

       question_answer = form.question_answer.value;

    }

    if ( form.sec_code ) {

       sec_code = form.sec_code.value;

    }

    if ( dle_captcha_type == "1"  ) {
        if ( typeof grecaptcha != "undefined"  ) {
               g_recaptcha_response = grecaptcha.getResponse();
           }
    } else if (dle_captcha_type == "2") {
        g_recaptcha_response = $('#g-recaptcha-response').val();
    }

    if ( form.allow_subscribe ) {

        if ( form.allow_subscribe.checked == true ) {
   
           allow_subscribe= "1";

        }

    }

    spoiler = 0;
    if (form.spoiler) {
        if (form.spoiler.checked == true) {
           spoiler= 1;
        }
    }
   
    if ( form.mail ) {

       mail = form.mail.value;

    }
Если брать код с 2. Открываем файл dle_js.js с папки Developer/uncompressed что идёт в архиве движка.
то примерно 928 строка
upload_2023-1-1_12-14-24.png
 
Это есть но в вашем примере код после

function doAddComments() {
var e = document.getElementById("dle-comments-form");

d15e528e03253c915edc60daff80a79e.png
Верно этот код входит в функцию
Код:
doAddComments()
И было же выше написано для примера что бы было понимание где примерно искать ))
Да после проделанных манипуляций нужно чистить не только кэш дле но и кэш браузера. Так как js кэшируется браузером, как понял.
 

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

Назад
Сверху