Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
ovi8

Быстрый ответ вместо цитаты

Recommended Posts

Как сделать, чтобы при нажатии кнопки "ответить" происходил переход в быстрый ответ без цитаты?

 

post-58787-0-35229200-1485939278_thumb.png

Share this post


Link to post
Share on other sites

Это у русских видимо "Ответить". В англ. (оригинальной) версии кнопка называется "Quote"

 

Как сделать, чтобы при нажатии кнопки "ответить" происходил переход в быстрый ответ без цитаты?

Либо в public/js/ips.topic.js ищите

		pid = elem.readAttribute('pid');

	var url = ipb.vars['base_url'] + 'app=forums&module=ajax&section=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>

  • Upvote 1

Share this post


Link to post
Share on other sites

Может лучше кнопку переименовать как вы считаете? Разработчики не зря ведь так сделали, проблема в том что обычный человек понимает ответить по-другому, не как цитату.

 

Кстати, в IpbSkins.ru кнопка ответить ведет в расширенную форму без цитаты, возможно из-за версии 3.1 ...

Edited by ovi8

Share this post


Link to post
Share on other sites
Может лучше кнопку переименовать? Разработчики не зря ведь так сделали, проблема в том что обычный человек понимает ответить по-другому, не как цитату.

Вам решать. Кстати есть еще различные хуки "Цитировать", "Обратиться по нику", "Выделить текст и процитировать"

Кстати, в IpbSkins.ru кнопка ответить ведет в расширенную форму без цитаты, возможно из-за версии 3.1 ...

Тут скорее всего кастомная доработка, т.к. я не могу воспроизвести на 3.1.4.

  • Upvote 1

Share this post


Link to post
Share on other sites

Кстати есть еще различные хуки "Обратиться по нику"

Этот хук более приемлем, только где его сейчас найдешь?

 

Вообще ситуация с цитатой и мультицитатой не понятна, скорее всего мало кто пользуется второй на обычных форумах :mellow: Если выпилить эту кнопку, то смотрится убого надо ещё что-то добавлять..

Share this post


Link to post
Share on other sites

Кстати, здоров работает добавление в шаблон :) Спасибо! На мой взгляд намного лучше даже чем обращение по нику, хотя тоже есть над чем подумать.

Share this post


Link to post
Share on other sites

Вам решать. Кстати есть еще различные хуки "Цитировать", "Обратиться по нику", "Выделить текст и процитировать"

Давно бьюсь над одним решением - как бы добавить в быструю цитату время и дату?

 

Вот как реализована у меня, в шаблоне:

<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();
}

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...