Цитата выделенного через всплывающее окно

Если у вас не установлен Quick Reply (Быстрый ответ), устанавливаем.

Скачиваем архив, распаковываем и заливаем себе на форум (Архив заменён - 01.04.2015 // CabinetAdmina)

Prosilver

Идём в overall_header.html, перед закрывающим тегом </head> ставим:

Код: Выделить всё

<script type="text/javascript" src="путь до файла/jquery-1.3.2.js"></script>
<script type="text/javascript" src="путь до файла/jquery.timers.js"></script>
Пути до скрипта указываем свои.
Если у вас уже подключена библиотека jQuery, то:

Код: Выделить всё

<script type="text/javascript" src="путь до файла/jquery-1.3.2.js"></script>
ставить не нужно.

Идём в quick_reply.html, в самом начале добавляем:

Код: Выделить всё

<script type="text/javascript">
// <![CDATA[
$(document).ready(function(){
   $("div.postbody").mouseup(function(e){
      pt = $(this).parents("div.post");
      if (window.getSelection)
      {
         theSelection = window.getSelection().toString();
      }
      else if (document.getSelection)
      {
         theSelection = document.getSelection();
      }
         else if (document.selection)
      {
         theSelection = document.selection.createRange().text;
      }   
      if (theSelection)
      {
         $("#addQuote").remove();
         $("body").append('<div id="addQuote" style="left: '+(e.pageX+15)+'px; top: '+(e.pageY+15)+'px;">Цитировать</div>');
         $("#addQuote").click(function () {
            $(this).hide();   
            username = pt.find("a[class='postauthor']:first").text();
            insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
         });
         $("#addQuote").oneTime(3000, function() {
            if ($(this).is(':visible')) {$(this).animate({height:0 , opacity:0}, 150)};
         });
      }
   });
});
// ]]>
</script>
Идём во viewtopic_body.html находим:

Код: Выделить всё

<!-- IF QUICK_REPLY --><a href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b]\r\n'); return false;"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a><!-- ELSE --><!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --><!-- ENDIF -->
Заменяем на:

Код: Выделить всё

<!-- IF QUICK_REPLY --><a class="postauthor" href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b]\r\n'); return false;"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a><!-- ELSE --><!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --><!-- ENDIF -->
Идём в тему вашего стиля. Находим:

Код: Выделить всё

/* Post body styles
----------------------------------------*/
Добавляем после:

Код: Выделить всё

#addQuote {
	position: absolute;
	z-index:100; 
	border: 1px solid #8FBC8F; 
	padding: 3px; 
	background: #E0FFE0; 
	color: #008000;
	cursor: pointer;
	font-size: 11px;
}


Subsilver2

Идём в overall_header.html, перед закрывающим тегом </head> ставим:

Код: Выделить всё

<script type="text/javascript" src="путь до файла/jquery-1.3.2.js"></script>
<script type="text/javascript" src="путь до файла/jquery.timers.js"></script>
Пути до скрипта указываем свои.
Если у вас уже подключена библиотека jQuery, то:

Код: Выделить всё

<script type="text/javascript" src="путь до файла/jquery-1.3.2.js"></script>
ставить не нужно.

Идём в quick_reply.html, в самом начале добавляем:

Код: Выделить всё

<script type="text/javascript">
// <![CDATA[
$(document).ready(function(){
   $("div.postbody").mouseup(function(e){
      pt = $(this).parents("table.tablebg");
      if (window.getSelection)
      {
         theSelection = window.getSelection().toString();
      }
      else if (document.getSelection)
      {
         theSelection = document.getSelection();
      }
         else if (document.selection)
      {
         theSelection = document.selection.createRange().text;
      }   
      if (theSelection)
      {
         $("#addQuote").remove();
         $("body").append('<div id="addQuote" style="left: '+(e.pageX+15)+'px; top: '+(e.pageY+15)+'px;">Цитата</div>');
         $("#addQuote").click(function () {
            $(this).hide();   
            username = pt.find("b[class='postauthor']:first").text();
            insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
         });
         $("#addQuote").oneTime(3000, function() {
            if ($(this).is(':visible')) {$(this).animate({height:0 , opacity:0}, 150)};
         });
      }
   });
});
// ]]>
</script>


Идём в тему вашего стиля. Находим:

Код: Выделить всё

.postbody {
	font-size: 1.3em;
	line-height: 1.4em;
	font-family: "Lucida Grande", "Trebuchet MS", Helvetica, Arial, sans-serif;
}
Добавляем перед:

Код: Выделить всё

#addQuote {
	position: absolute;
	z-index:100; 
	border: 1px solid #8FBC8F; 
	padding: 3px; 
	background: #E0FFE0; 
	color: #008000;
	cursor: pointer;
	font-size: 11px;
}
Стиль всплывающей подсказки можно сделать любой. Под свой стиль.
Последний раз редактировалось CabinetAdmin 08 авг 2012, 20:28, всего редактировалось 3 раза.
Комментарии: 70

GoDFaTHeR 08 авг 2012, 19:22 Сообщение

ушел прикручивать к себе на форум
  • 0
На этом сервисе можно cоздать форум бесплатно
Домены для форума ТУТ

GoDFaTHeR 08 авг 2012, 20:15 Сообщение

http://www.artodia.com/demo/phpbb30/index.php?style=36
не пошел на стиле

видимо проблема в том что ник там не много по другому прописан, не как
CabinetAdmin писал(а):postauthor
  • 0
На этом сервисе можно cоздать форум бесплатно
Домены для форума ТУТ

CabinetAdmin 08 авг 2012, 20:24 Сообщение

А
CabinetAdmin писал(а):

Код: Выделить всё

<script type="text/javascript" src="{T_TEMPLATE_PATH}/jquery.timers.js"></script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/jquery-1.3.2.js"></script>
поставил?

И кстати, да, я совсем забыл, спасибо что напомнил.

Находим:

Код: Выделить всё

<!-- IF QUICK_REPLY --><a href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b]\r\n'); return false;"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a><!-- ELSE --><!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --><!-- ENDIF -->
Заменяем на:

Код: Выделить всё

<!-- IF QUICK_REPLY --><a class="postauthor" href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b]\r\n'); return false;"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a><!-- ELSE --><!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --><!-- ENDIF -->
Т.е. добавляем класс - postauthor
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

GoDFaTHeR 09 авг 2012, 17:18 Сообщение

CabinetAdmin писал(а): поставил?
ДА, скрипты стояли, но ник не передавался

было бы не плохо еще и прикрутить суперцитату (ссылка на пост и дата)
http://cabinetadmina.ru/viewtopic.php?f ... %B0#p61675
  • 0
На этом сервисе можно cоздать форум бесплатно
Домены для форума ТУТ

CabinetAdmin 09 авг 2012, 18:42 Сообщение

Поэкспериментирую.
GoDFaTHeR писал(а):ДА, скрипты стояли, но ник не передавался
А там быстрый ответ стоит? Без него не будет работать.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

GoDFaTHeR 10 авг 2012, 19:07 Сообщение

CabinetAdmin писал(а):А там быстрый ответ стоит? Без него не будет работать.
угу
  • 0
На этом сервисе можно cоздать форум бесплатно
Домены для форума ТУТ

CabinetAdmin 17 авг 2012, 16:05 Сообщение

Занялся переработкой стиля на http://corneradmin.4adm.ru и за одним решил опробовать цитату именно на стиле - Artodia: Ultra Blue.
Всё сделал по инструкции в первом сообщении. Всё работает.

зы. Artodia: Ultra Blue - установлен как стиль по умолчанию, prosilver находится на переработке.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

CabinetAdmin 22 май 2013, 17:53 Сообщение

GoDFaTHeR писал(а):было бы не плохо еще и прикрутить суперцитату (ссылка на пост и дата)
Если нужно чтобы кроме имени была ещё и дата, а заголовок вёл на сообщение, то нужно внести небольшие правки.

Для клонов prosilver.

Открываем шаблон viewtopic_body.html находим:

Код: Выделить всё

<a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a>
Меняем на:

Код: Выделить всё

<a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT} <b class="postidd">{postrow.POST_ID}</b></a>
Чуть ниже находим:

Код: Выделить всё

{postrow.POST_DATE}
Меняем на:

Код: Выделить всё

<b class="postdata">{postrow.POST_DATE}</b>

Открываем шаблон quick_reply.html, находим наш скрипт, в нём находим:

Код: Выделить всё

	    username = pt.find("a[class='postauthor']:first").text();
После найденного добавляем:

Код: Выделить всё

	    idfrom = pt.find("b[class='postdata']").text();
	    idposts = pt.find("b[class='postidd']").text();
Находим:

Код: Выделить всё

	    insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
Меняем на:

Код: Выделить всё

	    insert_text('[quote="[url=http://cabinetadmina.ru/viewtopic.php?p=' + idposts + '#p' + idposts + ']' + username + ' » ' + idfrom + '[/url]"]' + theSelection + '[/quote]');
http://cabinetadmina.ru/ - меняем на адрес вашего форума.



Для клонов subsilver2.

Открываем шаблон viewtopic_body.html находим:

Код: Выделить всё

<b>{L_POST_SUBJECT}:</b>
Меняем на:

Код: Выделить всё

<b>{L_POST_SUBJECT} </b><b class="postidd">{postrow.POST_ID}:</b>
Находим:

Код: Выделить всё

{postrow.POST_DATE}&nbsp;
Меняем на:

Код: Выделить всё

<b class="postdata">{postrow.POST_DATE}</b>&nbsp;
Открываем шаблон quick_reply.html, находим наш скрипт, в нём находим:

Код: Выделить всё

	    username = pt.find("a[class='postauthor']:first").text();
После найденного добавляем:

Код: Выделить всё

	    idfrom = pt.find("b[class='postdata']").text();
	    idposts = pt.find("b[class='postidd']").text();
Находим:

Код: Выделить всё

	    insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
Меняем на:

Код: Выделить всё

	    insert_text('[quote="[url=http://cabinetadmina.ru/viewtopic.php?p=' + idposts + '#p' + idposts + ']' + username + ' » ' + idfrom + '[/url]"]' + theSelection + '[/quote]');
http://cabinetadmina.ru/ - меняем на адрес вашего форума.


Пример использования:
GoDFaTHeR » 09 авг 2012, 20:18 писал(а):было бы не плохо еще и прикрутить суперцитату (ссылка на пост и дата)
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

eska 30 май 2013, 19:36 Сообщение

Не смог разобраться, как их залить к себе на форум? через тоже меню что и картинки? или нет?
  • 0

CabinetAdmin 30 май 2013, 20:06 Сообщение

А у нас небольшой выбор, закачиваете через менеджер картинок, вставляете перед </head> и прописываете пути до файлов.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

eska 31 май 2013, 06:39 Сообщение

Поставил, работает хорошо, единственное что мне не понравилось, если выделил текст, но не стал его копировать, то кнопка цитата не исчезает, даже если просто мышкой рядом клацнуть, пока не обведёшь другой текст, это можно как-то исправить?
  • 0

CabinetAdmin 31 май 2013, 14:51 Сообщение

Пробовал на чистом стиле bo2Soft - работает.

Кстати, если библиотека jQuery уже используется, то последующие ставить уже не нужно:

Код: Выделить всё

<script type="text/javascript" src="http://gaz.listbb.ru/images/ranks2/gaz_listbb_ru/jquery-1.3.2.js"></script>
я забыл об этом упомянуть, сейчас обновлю первый пост.

Мысли только, что установлена версия от prosilver или браузер, пакостник, не хочет правильно обрабатывать скрипт.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

Uzanka 21 янв 2014, 17:05 Сообщение

Ребята, хотела установить такую штуку себе на форум. Но вот это в теме стиля не нашла.
CabinetAdmin » 07 авг 2012, 16:39 писал(а):/* Post body styles----------------------------------------*/
Может быть иначе как-то пишется? еще подсказки что искать? или я могу выложить свой стиль сюда в спойлер.

большое спасибо за помощь :Rose:
  • 0
Форум Science-Леди www.scienceclub.listbb.ru

CabinetAdmin 21 янв 2014, 17:31 Сообщение

Поставьте после:

Код: Выделить всё

.postbody .content {
font-size: 12px;
}

.search .postbody {
width: 68%
}
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!