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

Если у вас не установлен 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

vikweb 06 июл 2014, 21:01 Сообщение

CabinetAdmin писал(а):
vikweb писал(а):автор Uho вот эта тема
Нет. Автор владимир1983 на форуме phpbbguru.net.
ага, почти на 2 года позже чем Uho :ROFL:
  • 0

silver073000Василий 07 июл 2014, 03:18 Сообщение

vikweb
Ну и к чему это всё? :) Не об авторстве же тема.
  • 0

CabinetAdmin 07 июл 2014, 14:06 Сообщение

Ошибку свою признаю. Бывает.

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

maco 10 июл 2014, 09:50 Сообщение

Добрый день !
Можно ли как то сделать, чтобы всплывашка автоматом убиралась при ее неиспользовании, а то у меня может висеть сколько угодно :)
Ну например через 2 сек.
  • 0

silver073000Василий 10 июл 2014, 11:34 Сообщение

Она и должна скрываться. У меня, например, скрывается. И на этом же форуме тоже скрывается. А всё подключено, как описано в первом сообщении темы?

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

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

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

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  • 0

CabinetAdmin 10 июл 2014, 13:46 Сообщение

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

maco 10 июл 2014, 15:09 Сообщение

CabinetAdmin » Сегодня, 13:46 писал(а):Возможно конфликтует с чем нибудь. Можно по очереди по отключать скрипты, посмотреть...
Да верно, так и было, переместил

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

<script type="text/javascript" src="путь до файла/jquery.timers.js"></script>
чуть ниже (ближе к тегу </head>), стало нормально, с другими скриптами видимо конфликтовал.
Спасибо. :)
  • 0

Степ 19 окт 2014, 18:56 Сообщение

Здравствуйте.
Сделал по инструкции, но косячок вылазит все равно. Подмогните пжлст. :pardon:
+
И с расстановкой скобок в быстром ответе как то напутано...
  • 0
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

silver073000Василий 19 окт 2014, 20:21 Сообщение

Где-то что-то не так. Или же конфликт с чем-то. Цитата должна быть в таком виде

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

[quote="[url=http://cabinetadmina.ru/viewtopic.php?p=66464#p66464] » Сегодня, 18:56[/url]"]И с расстановкой скобок в быстром ответе как то напутано...[/quote]
А все библиотеки подключены?
  • 0

CabinetAdmin 20 окт 2014, 14:58 Сообщение

Видимо где-то ошиблись.
Может быть конфликты, ошибки в вёрстке, не закрытые элементы и тд...

Например.
Посмотрел исходный код вашего форума. Две библиотеки jquery, более старую можно смело удалить.
Есть такой код:

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

<div align="Center"><a target="_blank" href="http://wap.virt-life.ru">
<img border="0" src="http://blife.gtaserv.ru/storage/blife_gtaserv_ru/images/i (5)222.jpg"</div>
Он расположен между </head> и <body>. Должен быть исключительно в секции <body>. Во вторых не хватает закрывающей скобки у img, вот такой - />.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

Степ 20 окт 2014, 16:52 Сообщение

Библиотеки подключены.
+оверал
+quick_reply.html
  • 0
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

Степ 20 окт 2014, 17:07 Сообщение

CabinetAdmin, спасибо. Переправил.

А где отключить старую библиотеку?
  • 0
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

CabinetAdmin 20 окт 2014, 17:55 Сообщение

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

<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>
У вас не работает ни первый, ни второй скрипты. Второй, это и есть библиотека, она не нужна и её можно смело удалить.
{T_TEMPLATE_PATH}, это ссылка на папку template вашего стиля. Стиль который находится на сервере, там не может оказаться этих файлов.
Нужно закачать скрипт через менеджер картинок, и указать полный путь. Должно заработать.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

Степ 21 окт 2014, 13:34 Сообщение

CabinetAdmin, здравствуйте еще раз.
То ли стиль мудреный... Перезалил файлы заново.
Сделал сейчас заново как у вас написано, и убрал дополнения к скрипту, что бы была ссылка на цитируемое сообщение.
Все равно рвет цитату. Посмотрите, где непонятка.
+оверал
+quick_reply.html
  • 0
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

silver073000Василий 21 окт 2014, 23:32 Сообщение

Опять же 2 библиотеки :) Одна

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

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
и вторая

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

<script type="text/javascript" src="http://blife.gtaserv.ru/storage/blife_gtaserv_ru/images/jquery-1.3.2.js"></script>
У меня стоит эта библиотека

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

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Не знаю, насколько правильно это или насколько неправильно, но стоит она не непосредственно перед самим </head>, а в самом верху перед

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

 <script type="text/javascript">
// <![CDATA[
Цитирование работает.
В quick_reply.html скрипт добавлен правильно. А в тему всё добавлено?
Ну и маленькое замечание :) Под спойлер надо выкладывать вместе с ббкодом code. Иногда просто бывает, что какой-то участок кода заменяется смайликом или таким вот
Изображение

Честно говоря, с толку немного сбило это :D
  • 0