Цитата выделенного через всплывающее окно
Если у вас не установлен Quick Reply (Быстрый ответ), устанавливаем.
Скачиваем архив, распаковываем и заливаем себе на форум (Архив заменён - 01.04.2015 // CabinetAdmina)
Prosilver
Идём в
Пути до скрипта указываем свои.
Если у вас уже подключена библиотека jQuery, то:
ставить не нужно.
Идём в
Идём во
Заменяем на:
Идём в тему вашего стиля. Находим:
Добавляем после:
Subsilver2
Идём в
Пути до скрипта указываем свои.
Если у вас уже подключена библиотека jQuery, то:
ставить не нужно.
Идём в
Идём в тему вашего стиля. Находим:
Добавляем перед:
Стиль всплывающей подсказки можно сделать любой. Под свой стиль.
Если у вас не установлен 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
BOJIK, сделал как у вас. Все равно тоже самое. В стиле конечно внес изменения. Кэш чистый как слеза младенца.
Как будто что то заставляет ник вставляться в середине, да еще и через строчку.
А если нажать с таким текстом "Отправить", то кривая цитата получается.
Как будто что то заставляет ник вставляться в середине, да еще и через строчку.
А если нажать с таким текстом "Отправить", то кривая цитата получается.
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.
пока не получите по морде.
Степ
Напомните, как называется ваш стиль? Попробую.
Может какие особенности стиля, может конфликты с другими скриптами
Попробуйте на время по удалять некоторые скрипты и проверить.
И удалите совсем:
Напомните, как называется ваш стиль? Попробую.
Может какие особенности стиля, может конфликты с другими скриптами
Попробуйте на время по удалять некоторые скрипты и проверить.
И удалите совсем:
Код: Выделить всё
<script type="text/javascript" src="http://blife.gtaserv.ru/storage/blife_gtaserv_ru/images/jquery-1.3.2.js"></script>
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!
CabinetAdmin, стиль X-Static. Сынок сабсильвера.
Эту строчку удалил уже.
У меня скрипт стоит, не помню как называется, когда при копировании с моего фора, источник сам пристраивается в конец текста. Я пробовал его убрать - но все равно тоже самое.
Эту строчку удалил уже.
У меня скрипт стоит, не помню как называется, когда при копировании с моего фора, источник сам пристраивается в конец текста. Я пробовал его убрать - но все равно тоже самое.
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.
пока не получите по морде.
Степ
Дело в стиле. Чуть чуть структура вывода ника разная.
В скрипте найдите:
и поменяйте на:
Дело в стиле. Чуть чуть структура вывода ника разная.
В скрипте найдите:
Код: Выделить всё
username = pt.find("b[class='postauthor']:first").text();
Код: Выделить всё
username = pt.find("b[class='postauthor'] a:first").text();
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!
CabinetAdmin, спасибо. Заработало. Если не трудно, объясните, как одна буковка такую проблему нарисовала?
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.
пока не получите по морде.
Попробую объяснить.
В чистом subsilver2 код вывода ника выглядит следующим образом:
Ник не содержит ссылки. Просто имя в контейнере
В вашем стиле:
Имя, помимо тега
А скрипт явно указывает на тег
не учитывая, что внутри него находится ссылка. Добавляем в пути скрипта тег
зы. Скорее всего, такую же процедуру надо делать тем, у кого ник вставляется в форму ответа при клике. Модификация быстрого ответа.
В чистом subsilver2 код вывода ника выглядит следующим образом:
Код: Выделить всё
<b class="postauthor"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}"<!-- ENDIF -->>{postrow.POST_AUTHOR}</b>
<b>
с классом postauthor
.В вашем стиле:
Код: Выделить всё
<b class="postauthor">
<!-- IF not postrow.U_POST_AUTHOR -->
{postrow.POST_AUTHOR}
<!-- ELSE -->
<a href="{postrow.U_POST_AUTHOR}"
<!-- IF postrow.POST_AUTHOR_COLOUR -->
style="color: {postrow.POST_AUTHOR_COLOUR};vertical-align:top"
<!-- ENDIF -->>{postrow.POST_AUTHOR}</a>
<!-- ENDIF --></b>
<b>
, имеет ссылку <a href="{postrow.U_POST_AUTHOR}"
. Это по типу просильвера. Там ник является ссылкой на профиль.А скрипт явно указывает на тег
<b>
:
Код: Выделить всё
username = pt.find("b[class='postauthor']:first").text();
a
и скрипт понимает где именно содержится имя.зы. Скорее всего, такую же процедуру надо делать тем, у кого ник вставляется в форму ответа при клике. Модификация быстрого ответа.
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!
CabinetAdmin, и еще маленький вопросик. А можно сделать так, что бы при нажатии кнопки во всплывашке, экран "съезжал" вниз к рамке быстрого ответа? *а так же при нажатии кнопок "Ответить", "Цитировать" и "быстрая цитата"...
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.
пока не получите по морде.
В скрипте найтиСтеп » Сегодня, 11:14 писал(а):что бы при нажатии кнопки во всплывашке, экран "съезжал" вниз к рамке быстрого ответа?
$(this).hide();
и добавить после, с новой строки:
Код: Выделить всё
var target_top = $("#postform").offset().top;
$('html, body').animate({scrollTop:target_top}, 500);
Там только для быстрой цитаты. Ведь при клике по ответить или цитата осуществляется переход на страницу постинга.Степ » Сегодня, 11:14 писал(а):а так же при нажатии кнопок
Для быстрой цитаты, найти:
Код: Выделить всё
<a href="#postform" onclick="addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{L_QUOTE}</a>
return false;
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!
То есть чистый шаблонCabinetAdmin » менее минуты назад писал(а):Можно попробовать прикрутить.
Код: Выделить всё
quick_reply
В стииле bo2soft он у меня такой:
Код: Выделить всё
[spoiler=]<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>
<form action="{S_POST_ACTION}" method="post" id="postform" name="postform"{S_FORM_ENCTYPE}>
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<th colspan="2"><b>{L_QUICK_REPLY}</b></th>
</tr>
<!-- IF ERROR -->
<tr>
<td class="row2" colspan="2" align="center"><span class="genmed error">{ERROR}</span></td>
</tr>
<!-- ENDIF -->
<!-- IF S_SHOW_TOPIC_ICONS -->
<tr>
<td class="row1"><b class="genmed">{L_ICON}:</b></td>
<td class="row2">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><input type="radio" class="radio" name="icon" value="0"{S_NO_ICON_CHECKED} /><span class="genmed">{L_NO_TOPIC_ICON}</span> <!-- BEGIN topic_icon --><span style="white-space: nowrap;"><input type="radio" class="radio" name="icon" value="{topic_icon.ICON_ID}"{topic_icon.S_ICON_CHECKED} /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" hspace="2" vspace="2" /></span> <!-- END topic_icon --></td>
</tr>
</table>
</td>
</tr>
<!-- ENDIF -->
<!-- IF S_DISPLAY_USERNAME -->
<tr>
<td class="row1"><b class="genmed">{L_USERNAME}:</b></td>
<td class="row2"><input class="post" type="text" tabindex="1" name="username" size="25" value="{USERNAME}" /></td>
</tr>
<!-- ENDIF -->
<tr>
<td class="row1" width="22%"><b class="genmed">{L_SUBJECT}:</b></td>
<td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}" /></td>
</tr>
<tr>
<td class="row1" valign="top"><b class="genmed">{L_MESSAGE_BODY}:</b><br /><span class="gensmall">{L_MESSAGE_BODY_EXPLAIN} </span><br /><br />
<!-- IF S_SMILIES_ALLOWED -->
<table width="100%" cellspacing="5" cellpadding="0" border="0" align="center">
<tr>
<td class="gensmall" align="center"><b>{L_SMILIES}</b></td>
</tr>
<tr>
<td align="center">
<!-- BEGIN smiley -->
<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;" style="line-height: 20px;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a>
<!-- END smiley -->
</td>
</tr>
<!-- IF S_SHOW_SMILEY_LINK -->
<tr>
<td align="center"><a class="nav" href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a></td>
</tr>
<!-- ENDIF -->
</table>
<!-- ENDIF -->
</td>
<td class="row2" valign="top">
<script type="text/javascript">
// <![CDATA[
var form_name = 'postform';
var text_name = 'message';
// ]]>
</script>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<!-- INCLUDE posting_buttons.html -->
<tr>
<td valign="top" style="width: 100%;"><textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea></td>
<!-- IF S_BBCODE_ALLOWED -->
<td width="80" align="center" valign="top">
<script type="text/javascript">
// <![CDATA[
colorPalette('v', 7, 6)
// ]]>
</script>
</td>
<!-- ENDIF -->
</tr>
</table>
</td>
</tr>
<tr style="display: {EXTRA_OPTIONS_DISPLAY};">
<td class="row1" valign="top"><b class="genmed">{L_OPTIONS}:</b><br />
<table cellspacing="2" cellpadding="0" border="0">
<tr>
<td class="gensmall">{BBCODE_STATUS}</td>
</tr>
<!-- IF S_BBCODE_ALLOWED -->
<tr>
<td class="gensmall">{IMG_STATUS}</td>
</tr>
<tr>
<td class="gensmall">{FLASH_STATUS}</td>
</tr>
<tr>
<td class="gensmall">{URL_STATUS}</td>
</tr>
<tr>
<td class="gensmall">{SMILIES_STATUS}</td>
</tr>
<!-- ENDIF -->
</table>
</td>
<td class="row2">
<table cellpadding="1">
<!-- IF S_BBCODE_ALLOWED -->
<tr>
<td><input type="checkbox" class="radio" name="disable_bbcode"{S_BBCODE_CHECKED} /></td>
<td class="gen">{L_DISABLE_BBCODE}</td>
</tr>
<!-- ENDIF -->
<!-- IF S_SMILIES_ALLOWED -->
<tr>
<td><input type="checkbox" class="radio" name="disable_smilies"{S_SMILIES_CHECKED} /></td>
<td class="gen">{L_DISABLE_SMILIES}</td>
</tr>
<!-- ENDIF -->
<!-- IF S_LINKS_ALLOWED -->
<tr>
<td><input type="checkbox" class="radio" name="disable_magic_url"{S_MAGIC_URL_CHECKED} /></td>
<td class="gen">{L_DISABLE_MAGIC_URL}</td>
</tr>
<!-- ENDIF -->
<!-- IF S_SIG_ALLOWED -->
<tr>
<td><input type="checkbox" class="radio" name="attach_sig"{S_SIGNATURE_CHECKED} /></td>
<td class="gen">{L_ATTACH_SIG}</td>
</tr>
<!-- ENDIF -->
<!-- IF S_NOTIFY_ALLOWED -->
<tr>
<td><input type="checkbox" class="radio" name="notify"{S_NOTIFY_CHECKED} /></td>
<td class="gen">{L_NOTIFY_REPLY}</td>
</tr>
<!-- ENDIF -->
<!-- IF S_LOCK_TOPIC_ALLOWED -->
<tr>
<td><input type="checkbox" class="radio" name="lock_topic"{S_LOCK_TOPIC_CHECKED} /></td>
<td class="gen">{L_LOCK_TOPIC}</td>
</tr>
<!-- ENDIF -->
<!-- IF S_LOCK_POST_ALLOWED -->
<tr>
<td><input type="checkbox" class="radio" name="lock_post"{S_LOCK_POST_CHECKED} /></td>
<td class="gen">{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</td>
</tr>
<!-- ENDIF -->
</table>
</td>
</tr>
<!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
<!-- ENDIF -->
<!-- IF S_SHOW_ATTACH_BOX -->
<tr>
<td class="cat" colspan="2" align="center">
<input class="btnlite" type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" />
<input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" />
</td>
</tr>
<!-- INCLUDE posting_attach_body.html -->
<!-- ENDIF -->
<tr>
<td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}
<input class="btnlite" type="submit" tabindex="10" name="preview" value="{L_PREVIEW}" />
<input class="btnmain" type="submit" accesskey="s" tabindex="11" name="post" value="{L_SUBMIT}" />
</td>
</tr>
</table>
<br clear="all" />
{S_FORM_TOKEN}
</form>[/spoiler]
Ну если мод быстрого ответа уже стоит, то должно работать. Добавить скрипт не в quick_reply, а в quickreply_editor:
Код: Выделить всё
<script type="text/javascript">
// <![CDATA[
$(document).ready(function(){
$(".postbody").mouseup(function(e){
pt = $(this).parents(".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("p[class='author'] a").text();
insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
});
$("#addQuote").oneTime(3000, function() {
if ($(this).is(':visible')) {$(this).animate({height:0, opacity:0, zIndex:-1}, 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 href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b], '); return false;" title="Обратиться по имени">{L_POST_REPLY}</a><!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->
Не, не надо. Просто поставить скрипт и посмотреть.eska » Сегодня, 13:11 писал(а):иидём дальше!
Просто я в скрипте указал чуть другой путь:
Код: Выделить всё
username = pt.find("p[class='author'] a").text();
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!