Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
ovi8

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

Рекомендованные сообщения

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

 

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

Поделиться сообщением


Ссылка на сообщение

Это у русских видимо "Ответить". В англ. (оригинальной) версии кнопка называется "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

Поделиться сообщением


Ссылка на сообщение
02/01/17 12:48 (изменено)

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

 

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

Изменено пользователем ovi8

Поделиться сообщением


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

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

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

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

 

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

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

 

 

 

Поделиться сообщением


Ссылка на сообщение
01.02.2017 в 12:55, ovi8 сказал:

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

 

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

 

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 🙄

Поделиться сообщением


Ссылка на сообщение
39 минут назад, mulan сказал:

У меня проблема с цитированием на  4.5.4

В этой теме обсуждается редактор версии форума 3.x, для IPS 4.x есть отдельной раздел. Для 4.5 нужно создать тему в соотвествующий раздел с подробным описанием проблемы.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...