February 1, 20178 yr Как сделать, чтобы при нажатии кнопки "ответить" происходил переход в быстрый ответ без цитаты?
February 1, 20178 yr Это у русских видимо "Ответить". В англ. (оригинальной) версии кнопка называется "Quote" Как сделать, чтобы при нажатии кнопки "ответить" происходил переход в быстрый ответ без цитаты?Либо в public/js/ips.topic.js ищите pid = elem.readAttribute('pid'); var url = ipb.vars['base_url'] + 'app=forums&module=ajax§ion=topics&do=quote&t=' + ipb.topic.topic_id + '&p=' + pid + '&md5check=' + ipb.vars['secure_hash'] + '&isRte=' + ipb.textEditor.getEditor( ipb.topic.fastReplyId ).isRte(); и выше добавляйте editor = ipb.textEditor.getEditor( ipb.topic.fastReplyId ); editor.insert( '', 'always' ); return false; Либо в шаблон topicViewTemplate добавьте <script> ipb.delegate.register('._ips_trigger_quote', function(e) { Event.stop(e); editor = ipb.textEditor.getEditor( ipb.topic.fastReplyId ); editor.insert( '', 'always' ); }); </script>
February 1, 20178 yr Author Может лучше кнопку переименовать как вы считаете? Разработчики не зря ведь так сделали, проблема в том что обычный человек понимает ответить по-другому, не как цитату. Кстати, в IpbSkins.ru кнопка ответить ведет в расширенную форму без цитаты, возможно из-за версии 3.1 ... Edited February 1, 20178 yr by ovi8
February 1, 20178 yr Может лучше кнопку переименовать? Разработчики не зря ведь так сделали, проблема в том что обычный человек понимает ответить по-другому, не как цитату.Вам решать. Кстати есть еще различные хуки "Цитировать", "Обратиться по нику", "Выделить текст и процитировать"Кстати, в IpbSkins.ru кнопка ответить ведет в расширенную форму без цитаты, возможно из-за версии 3.1 ... Тут скорее всего кастомная доработка, т.к. я не могу воспроизвести на 3.1.4.
February 2, 20178 yr Author Кстати есть еще различные хуки "Обратиться по нику"Этот хук более приемлем, только где его сейчас найдешь? Вообще ситуация с цитатой и мультицитатой не понятна, скорее всего мало кто пользуется второй на обычных форумах :mellow: Если выпилить эту кнопку, то смотрится убого надо ещё что-то добавлять..
February 2, 20178 yr Author Кстати, здоров работает добавление в шаблон :) Спасибо! На мой взгляд намного лучше даже чем обращение по нику, хотя тоже есть над чем подумать.
February 2, 20178 yr Вам решать. Кстати есть еще различные хуки "Цитировать", "Обратиться по нику", "Выделить текст и процитировать"Давно бьюсь над одним решением - как бы добавить в быструю цитату время и дату? Вот как реализована у меня, в шаблоне:<a href="#editor_fast-reply" onclick='frq_quote("{$post['author']['members_display_name' ]}",{$post['post'][ 'pid']})' title='Вставить выделенный текст в форму Ответа'>Цитировать Текст</a> И отвечающий код js function frq_put_to_editor(string){ if( !in_use ) { if( $('fast-reply_toolbar_1') ){ $('fast-reply_toolbar_1').show(); } if( $('fast-reply_toolbar_2') ){ $('fast-reply_toolbar_2').show(); } $('fast-reply_textarea').removeClassName('unloaded_editor').value = ''; ipb.editors[ 'fast-reply' ] = new ipb.editor( 'fast-reply', USE_RTE ); $( ipb.editors['fast-reply'] ).resize_to( 150 ); in_use = 1; } if(USE_RTE) { var text = ipb.editors[ 'fast-reply' ].editor_get_contents(); if(text == "\\n<br\\n") ipb.editors[ 'fast-reply' ].editor_set_content(string); else ipb.editors[ 'fast-reply' ].editor_set_content(text + '<br />' + string); } else document.getElementById("fast-reply_textarea").value += string; } function frq_quote(nick, pid) { txt = ''; if (window.getSelection) txt = window.getSelection().toString(); else if (document.getSelection) txt = document.getSelection(); else if (document.selection) txt = document.selection.createRange().text; if(txt == '') { items = $$('#post_id_'+pid+' div'); for (var i = 0; i < items.size(); i++) { if(items[i].hasClassName('entry-content')) { if (window.getSelection) { var range = document.createRange(); range.selectNode(items[i]); window.getSelection().addRange(range); txt = window.getSelection().toString(); } else if (document.getSelection) { var range = document.createRange(); range.selectNode(items[i]); document.getSelection().addRange(range); txt = document.getSelection(); } else if (document.selection) { var range = document.body.createTextRange(); range.moveToElementText(items[i]); range.select(); txt = document.getSelection(); } } } } if(USE_RTE) code = "[quote name='"+nick+"' post='"+pid+"']<br />"+txt+"<br />[/quote]<br />"; else code = "[quote name='"+nick+"' post='"+pid+"']"+txt+"[/quote]"; frq_put_to_editor(code); sel = false; if (document.selection && document.selection.empty) document.selection.empty(); if (window.getSelection) sel = window.getSelection(); if (document.getSelection) sel = document.getSelection(); if(sel && sel.removeAllRanges) sel.removeAllRanges(); } function frq_nick(nick, pid) { txt = ''; if (window.getSelection) txt = window.getSelection().toString(); else if (document.getSelection) txt = document.getSelection(); else if (document.selection) txt = document.selection.createRange().text; if(txt == '') { items = $$('#post_id_'+pid+' div'); for (var i = 0; i < items.size(); i++) { if(items[i].hasClassName('entry-content')) { if (window.getSelection) { var range = document.createRange(); range.selectNode(items[i]); window.getSelection().addRange(range); txt = window.getSelection().toString(); } else if (document.getSelection) { var range = document.createRange(); range.selectNode(items[i]); document.getSelection().addRange(range); txt = document.getSelection(); } else if (document.selection) { var range = document.body.createTextRange(); range.moveToElementText(items[i]); range.select(); txt = document.getSelection(); } } } } if(USE_RTE) code = "[b][member='"+nick+"'<br />"+txt+"<br />][/b]<br />"; else code = "[b][member='"+nick+"'"+txt+"][/b]"; frq_put_to_editor(code); sel = false; if (document.selection && document.selection.empty) document.selection.empty(); if (window.getSelection) sel = window.getSelection(); if (document.getSelection) sel = document.getSelection(); if(sel && sel.removeAllRanges) sel.removeAllRanges(); }
March 9, 20214 yr 01.02.2017 в 12:55, ovi8 сказал: Как сделать, чтобы при нажатии кнопки "ответить" происходил переход в быстрый ответ без цитаты? 02.02.2017 в 20:05, Trotor сказал: Давно бьюсь над одним решением - как бы добавить в быструю цитату время и дату? Вот как реализована у меня, в шаблоне: <a href="#editor_fast-reply" onclick='frq_quote("{$post['author']['members_display_name' ]}",{$post['post'][ 'pid']})' title='Вставить выделенный текст в форму Ответа'>Цитировать Текст</a> И отвечающий код js Показать содержимое function frq_put_to_editor(string){ if( !in_use ) { if( $('fast-reply_toolbar_1') ){ $('fast-reply_toolbar_1').show(); } if( $('fast-reply_toolbar_2') ){ $('fast-reply_toolbar_2').show(); } $('fast-reply_textarea').removeClassName('unloaded_editor').value = ''; ipb.editors[ 'fast-reply' ] = new ipb.editor( 'fast-reply', USE_RTE ); $( ipb.editors['fast-reply'] ).resize_to( 150 ); in_use = 1; } if(USE_RTE) { var text = ipb.editors[ 'fast-reply' ].editor_get_contents(); if(text == "\\n<br\\n") ipb.editors[ 'fast-reply' ].editor_set_content(string); else ipb.editors[ 'fast-reply' ].editor_set_content(text + '<br />' + string); } else document.getElementById("fast-reply_textarea").value += string; } function frq_quote(nick, pid) { txt = ''; if (window.getSelection) txt = window.getSelection().toString(); else if (document.getSelection) txt = document.getSelection(); else if (document.selection) txt = document.selection.createRange().text; if(txt == '') { items = $$('#post_id_'+pid+' div'); for (var i = 0; i < items.size(); i++) { if(items[i].hasClassName('entry-content')) { if (window.getSelection) { var range = document.createRange(); range.selectNode(items[i]); window.getSelection().addRange(range); txt = window.getSelection().toString(); } else if (document.getSelection) { var range = document.createRange(); range.selectNode(items[i]); document.getSelection().addRange(range); txt = document.getSelection(); } else if (document.selection) { var range = document.body.createTextRange(); range.moveToElementText(items[i]); range.select(); txt = document.getSelection(); } } } } if(USE_RTE) code = "[quote name='"+nick+"' post='"+pid+"']<br />"+txt+"<br />[/quote]<br />"; else code = "[quote name='"+nick+"' post='"+pid+"']"+txt+"[/quote]"; frq_put_to_editor(code); sel = false; if (document.selection && document.selection.empty) document.selection.empty(); if (window.getSelection) sel = window.getSelection(); if (document.getSelection) sel = document.getSelection(); if(sel && sel.removeAllRanges) sel.removeAllRanges(); } function frq_nick(nick, pid) { txt = ''; if (window.getSelection) txt = window.getSelection().toString(); else if (document.getSelection) txt = document.getSelection(); else if (document.selection) txt = document.selection.createRange().text; if(txt == '') { items = $$('#post_id_'+pid+' div'); for (var i = 0; i < items.size(); i++) { if(items[i].hasClassName('entry-content')) { if (window.getSelection) { var range = document.createRange(); range.selectNode(items[i]); window.getSelection().addRange(range); txt = window.getSelection().toString(); } else if (document.getSelection) { var range = document.createRange(); range.selectNode(items[i]); document.getSelection().addRange(range); txt = document.getSelection(); } else if (document.selection) { var range = document.body.createTextRange(); range.moveToElementText(items[i]); range.select(); txt = document.getSelection(); } } } } if(USE_RTE) code = "[b][member='"+nick+"'<br />"+txt+"<br />][/b]<br />"; else code = "[b][member='"+nick+"'"+txt+"][/b]"; frq_put_to_editor(code); sel = false; if (document.selection && document.selection.empty) document.selection.empty(); if (window.getSelection) sel = window.getSelection(); if (document.getSelection) sel = document.getSelection(); if(sel && sel.removeAllRanges) sel.removeAllRanges(); } У меня проблема с цитированием на 4.5.4 🙄
March 9, 20214 yr 39 минут назад, mulan сказал: У меня проблема с цитированием на 4.5.4 В этой теме обсуждается редактор версии форума 3.x, для IPS 4.x есть отдельной раздел. Для 4.5 нужно создать тему в соотвествующий раздел с подробным описанием проблемы.
Как сделать, чтобы при нажатии кнопки "ответить" происходил переход в быстрый ответ без цитаты?