planeta123 0 Опубликовано: 23 марта 2013 Рассказать Опубликовано: 23 марта 2013 Добрый день. В новых версиях ДЛЕ цитируется полностью весь комментарий, что десятки раз может дублировать текст. Как сделать, что бы цитирование проходило по старинке - только ник пользователя к которому идет обращение? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 24 марта 2013 Рассказать Опубликовано: 24 марта 2013 /engine/classes/js/dle_js.js сравнивайте его с файлом от старой версии и возвращайте предыдущий код функций. Несжатый файл находится в архиве в папке Developers Цитата Ссылка на сообщение Поделиться на других сайтах
planeta123 0 Опубликовано: 24 марта 2013 Рассказать Опубликовано: 24 марта 2013 (изменено) Автор /engine/classes/js/dle_js.js сравнивайте его с файлом от старой версии и возвращайте предыдущий код функций. Несжатый файл находится в архиве в папке Developers Очень увлекательно и бесполезно провел время сравнивая 2 файла. Как я понял за цитирование отвечает функция "function dle_ins( id )" Заменил ее из версии ДЛЕ 9.7 и в результате при нажатии цитаты в поле для ввода комментария попадали пустые ббкоды: [b]пусто[/b], пусто - я дописал, так как код пропадал с пустыми ббкодами Если же поменять функцию с "function dle_ins( id )" на "function dle_ins( name )" то в поле попадало: [b]86033[/b], гле 86033 как я понял id пользователя оставившего коммент. Все еще нуждаюсь в помощи... как убрать цитирование всего комментария? Изменено 24 марта 2013 пользователем planeta123 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 24 марта 2013 Рассказать Опубликовано: 24 марта 2013 Забыл вам еще про один файл написать. Прошу прощения. Нужно также править файл engine/classes/comments.class.php в строчках где используется функция dle_ins Цитата Ссылка на сообщение Поделиться на других сайтах
planeta123 0 Опубликовано: 25 марта 2013 Рассказать Опубликовано: 25 марта 2013 Автор нашел в engine/classes/comments.class.php $tpl->set( '[fast]', "<a onmouseover=\"dle_copy_quote('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['name'] ) . "');\" href=\"#\" onclick=\"dle_ins('{$row['id']}'); return false;\">" ); заменил на кусок из дле 9.7: $tpl->set( '[fast]', "<a onmouseover=\"dle_copy_quote('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['name'] ) . "');\" href=\"#\" onclick=\"dle_ins('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['name'] ) . "'); return false;\">" ); В файле dle_js.js функцию dlt_ins заменил на dle_ins из версии дле 9.7 В итоге при цитирование в окно коммента выпадало "error". Изменив название функции на dle_ins ( id ) в окно комментирование снова выпадало значение с пустыми ббкодами. Вы как тех поддержка, вашему клиенту можете подробно расписать что и где менять? Надоело уже пальцем в небо тыкать, если учитывать, что я не спец в этих кодах Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 26 марта 2013 Рассказать Опубликовано: 26 марта 2013 planeta123, При использовании строчки: $tpl->set( '[fast]', "<a onmouseover=\"dle_copy_quote('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['name'] ) . "');\" href=\"#\" onclick=\"dle_ins('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['name'] ) . "'); return false;\">" ); [/CODE] и кода фунций в dle_js.js [CODE] function dle_copy_quote(qname) { dle_txt= ''; if (window.getSelection) { dle_txt=window.getSelection(); } else if (document.selection) { dle_txt=document.selection.createRange().text; } if (dle_txt != "") { dle_txt='[quote='+qname+']'+dle_txt+'[/quote]\n'; } }; function dle_ins(name) { if ( !document.getElementById('dle-comments-form') ) return false; var input=document.getElementById('dle-comments-form').comments; var finalhtml = ""; if (dle_wysiwyg == "0") { if (dle_txt!= "") { input.value += dle_txt; } else { input.value += "[b]"+name+"[/b],"+"\n"; } } else { if (dle_txt!= "") { finalhtml = dle_txt; } else { finalhtml = "<b>"+name+"</b>,"; } if (dle_wysiwyg == "1") { oUtil.obj.focus(); oUtil.obj.insertHTML(finalhtml+"<br />"); } else { tinyMCE.execInstanceCommand('comments', 'mceInsertContent', false, finalhtml, true) } } }; все должно работать. Вы как тех поддержка, вашему клиенту можете подробно расписать что и где менять? Надоело уже пальцем в небо тыкать, если учитывать, что я не спец в этих кодах Тех поддержка не пишет модификаций скрипта на заказ, какие либо собственные модификации вы должны делать самостоятельно. Прочитайте внимательно что входит в службу поддержки http://dle-news.ru/support.html и тех. поддержка помогает вам объясняя где и что находится и вам нужно дальше делать все самостоятельно, если хотите изменить скрипт под свои нужды.P.S. Если включено кеширование на сайте, то после изменений в админпанели на главной нужно очистить кеш скрипта. Цитата Ссылка на сообщение Поделиться на других сайтах
planeta123 0 Опубликовано: 26 марта 2013 Рассказать Опубликовано: 26 марта 2013 Автор celsoft, Прошу прощения за не внимательность! Всё заработало. Проблема была в том, что у меня пропала точка с запятой в конце функции dle_ins. Сейчас все работает! Спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.