Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

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

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

 

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>

  • Автор

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

 

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

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

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

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

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

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

  • Автор

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

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

 

Вообще ситуация с цитатой и мультицитатой не понятна, скорее всего мало кто пользуется второй на обычных форумах :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();
}

 

 

 

  • 4 года спустя...
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 нужно создать тему в соотвествующий раздел с подробным описанием проблемы.

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.