Дата и время в заголовке цитаты. Суперцитата.

Различные модификации основанные на html и css.
Интересные дополнения и украшения для вашего стиля.
Помощь при доработке шаблонов вашего стиля.
xaocZ

Дата и время в заголовке цитаты. Суперцитата.

xaocZ 21 июл 2012, 14:05 Сообщение

Модификация работы кнопки "цитата". Автор сего чуда - Uho

Ссылка "цитата", та которая над аватарой

в posting_buttons.html после

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

<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>

добавляем функуцию addsuperquote

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

<script type="text/javascript"> function addsuperquote(post_id, username, post_date) { var message_name = 'message_' + post_id; var theSelection = ''; var divarea = false; if (document.all) { divarea = document.all[message_name]; } else { divarea = document.getElementById(message_name); } // Get text selection - not only the post content :( 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 == '' || typeof theSelection == 'undefined' || theSelection == null) { if (divarea.innerHTML) { theSelection = divarea.innerHTML.replace(/<br>/ig, '\n'); theSelection = theSelection.replace(/<br\/>/ig, '\n'); theSelection = theSelection.replace(/&lt\;/ig, '<'); theSelection = theSelection.replace(/&gt\;/ig, '>'); theSelection = theSelection.replace(/&amp\;/ig, '&'); theSelection = theSelection.replace(/&nbsp\;/ig, ' '); } else if (document.all) { theSelection = divarea.innerText; } else if (divarea.textContent) { theSelection = divarea.textContent; } else if (divarea.firstChild.nodeValue) { theSelection = divarea.firstChild.nodeValue; } } if (theSelection) { insert_text('[superquote=' + username + ',' + post_id + ',' + post_date + ']' + theSelection + '[/superquote]'); } return; } </script>



в viewtopic_body.html

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

<!-- IF QUICK_REPLY --> ... <!-- ENDIF -->


заменяем на

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

<!-- IF QUICK_REPLY --> <tr> <td class="postdetails"><a href="#postform" onclick="addsuperquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}','{postrow.POST_DATE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{L_QUOTE}</a></td> </tr> <!-- ENDIF -->



добавляем невидимый BBCode

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

[superquote={TEXT1},{NUMBER},{TEXT2}]{TEXT3}[/superquote]


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

<div class="quotetitle"><a href="./viewtopic.php?p={NUMBER}#p{NUMBER}" title="Добавлено: {TEXT2}">{TEXT1} писал(а):</a></div><div class="quotecontent">{TEXT3}</div>



если хочешь, чтобы без всплывающей подсказки, то замена HTML BBCode'а должна быть типа такой:

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

<div class="quotetitle"><a href="./viewtopic.php?p={NUMBER}#p{NUMBER}">Добавлено: {TEXT2}, {TEXT1} писал(а):</a></div><div class="quotecontent">{TEXT3}</div>





Кнопка цитата. Работает и как ссылка над аватарой (если текст выделен), и как цитирование всего поста (если выделения нет)

идем в viewtopic_body.html
ищем

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

<!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> <!-- ENDIF -->


заменяем на

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

<!-- IF postrow.U_QUOTE --><!-- IF QUICK_REPLY --><a href="#postform" onclick="addsuperquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}','{postrow.POST_DATE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{QUOTE_IMG}</a><!-- ELSE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a><!-- ENDIF --><!-- ENDIF -->



ищем

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

<div class="postbody">{postrow.MESSAGE}</div>


заменяем на

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

<div class="postbody" id="message_{postrow.POST_ID}">{postrow.MESSAGE}</div>



ищем

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

<!-- IF QUICK_REPLY --> .... <!-- ENDIF -->


удаляем это или закомменчиваем

идем в posting_buttons.html
в функции addsuperquote()
заменяем

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

  theSelection = divarea.innerHTML.replace(/<br>/ig, '\n'); theSelection = theSelection.replace(/<br\/>/ig, '\n'); theSelection = theSelection.replace(/&lt\;/ig, '<'); theSelection = theSelection.replace(/&gt\;/ig, '>'); theSelection = theSelection.replace(/&amp\;/ig, '&'); theSelection = theSelection.replace(/&nbsp\;/ig, ' ');


на

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

window.location='http://адрес_форума/posting.php?mode=quote&f={FORUM_ID}&p='+post_id;

Never opened myself this way
Life is ours, we live it our way
All these words I don't just say
And nothing else matters


Metallica - Nothing Else Matters

Аватара пользователя
Ариан

Re: Дата и время в заголовке цитаты. Суперцитата.

Ариан 08 дек 2014, 16:17 Сообщение

Помогите, пожалуйста, переделать код под мой стиль.
У меня код цитаты такой:

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

<!-- IF postrow.U_QUOTE --><a class="profile-button" href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>Цитата</span></a>&#160;<!-- ENDIF -->

Я же хочу , чтобы цитата работала и как ссылка над аватарой (если текст выделен), и как цитирование всего поста (если выделения нет), но не хватает ума переделать этот код под свои потребности.

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

  <!-- IF postrow.U_QUOTE --><!-- IF QUICK_REPLY --><a href="#postform" onclick="addsuperquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}','{postrow.POST_DATE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{QUOTE_IMG}</a><!-- ELSE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a><!-- ENDIF --><!-- ENDIF -->

И подскажите, надо ли что-то переделывать в остальных приведённых кодах?

Аватара пользователя
CabinetAdmin

Re: Дата и время в заголовке цитаты. Суперцитата.

CabinetAdmin 08 дек 2014, 17:34 Сообщение

Вроде как должна быть такого типа:

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

<!-- IF postrow.U_QUOTE --><!-- IF QUICK_REPLY --><a class="profile-button" href="#postform" onclick="addsuperquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}','{postrow.POST_DATE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}"><span>Цитата</span></a><!-- ELSE --><a class="profile-button" href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>Цитата</span></a><!-- ENDIF -->&#160;<!-- ENDIF -->


Ариан » Сегодня, 18:17 писал(а):И подскажите, надо ли что-то переделывать в остальных приведённых кодах?

Если только это место:

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

<!-- IF QUICK_REPLY --> <tr> <td class="postdetails"><a href="#postform" onclick="addsuperquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}','{postrow.POST_DATE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{L_QUOTE}</a></td> </tr> <!-- ENDIF -->

тут таблица не нужна будет.
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Аватара пользователя
Ариан

Re: Дата и время в заголовке цитаты. Суперцитата.

Ариан 08 дек 2014, 18:42 Сообщение

Не могу найти этот код, чтобы заменить. В указанном шаблоне такой кусок отсутствует.

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

  theSelection = divarea.innerHTML.replace(/<br>/ig, '\n'); theSelection = theSelection.replace(/<br\/>/ig, '\n'); theSelection = theSelection.replace(/&lt\;/ig, '<'); theSelection = theSelection.replace(/&gt\;/ig, '>'); theSelection = theSelection.replace(/&amp\;/ig, '&'); theSelection = theSelection.replace(/&nbsp\;/ig, ' ');

Аватара пользователя
CabinetAdmin

Re: Дата и время в заголовке цитаты. Суперцитата.

CabinetAdmin 08 дек 2014, 19:29 Сообщение

Тут по сути два варианта мода. Они как раз по черте в первом сообщении делятся. Этот кусок, это правка первого варианта мода и находится он в добавленном в первый раз скрипте.
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Аватара пользователя
Ариан

Re: Дата и время в заголовке цитаты. Суперцитата.

Ариан 08 дек 2014, 21:11 Сообщение

Вроде бы заработало. Появился ещё один вопрос. Как оформление цитаты перенести и на суперцитату?
В CSS для цитаты прописано это:

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

/* Quote block */ blockquote { background: #ebebeb none 6px 8px no-repeat; border: 1px solid #dbdbdb; font-size: 0.95em; margin: 0.5em 1px 0 25px; overflow: hidden; padding: 5px; } blockquote blockquote { /* Nested quotes */ background-color: #bababa; font-size: 1em; margin: 0.5em 1px 0 15px; } blockquote blockquote blockquote { /* Nested quotes */ background-color: #e4e4e4; } blockquote cite { /* Username/source of quoter */ font-style: normal; font-weight: bold; margin-left: 20px; display: block; font-size: 0.9em; } blockquote cite cite { font-size: 1em; } blockquote.uncited { padding-top: 25px; }


Код замены в BBкоде вставил этот:

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

  <div class="quotetitle"><a href="./viewtopic.php?p={NUMBER}#p{NUMBER}">Добавлено: {TEXT2}, {TEXT1} писал(а):</a></div><div class="quotecontent">{TEXT3}</div>

Аватара пользователя
Ариан

Re: Дата и время в заголовке цитаты. Суперцитата.

Ариан 09 дек 2014, 00:48 Сообщение

Проблему решил поменяв код замены на

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

<blockquote><div><cite> <a href="./viewtopic.php?p={NUMBER}#p{NUMBER}">{TEXT2}, {TEXT1} писал(а):</a></cite> {TEXT3}</div></blockquote>

Аватара пользователя
Ариан

Дата и время в заголовке цитаты. Суперцитата.

Ариан 25 ноя 2015, 18:13 Сообщение

И вот теперь у меня большая проблема. Предыдущий код замены работает с просильвером, а приведённый автором работает в сабсильвере.
Как сделать, чтобы у меня оба стиля форума одинаково работали? К примеру, если создать ещё один скрытый ВВ-код, что и где надо будет поменять в шаблонах?.

Аватара пользователя
CabinetAdmin

Дата и время в заголовке цитаты. Суперцитата.

CabinetAdmin 25 ноя 2015, 20:11 Сообщение

Я если честно не понял, в чём заключается проблема? Для просильвера свою замену, для саба свою... Ббкод это ббкод, какая ему разница какой стиль... Он на обоих стилях будет отображаться одинаково.
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Аватара пользователя
Ариан

Дата и время в заголовке цитаты. Суперцитата.

Ариан 25 ноя 2015, 20:37 Сообщение

Замена HTML в ВВ-коде для сабсильвера работает эта:

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

<div class="quotetitle"><a href="./viewtopic.php?p={NUMBER}#p{NUMBER}">Добавлено: {TEXT2}, {TEXT1} писал(а):</a></div><div class="quotecontent">{TEXT3}</div>

для просильвера работает эта:

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

<blockquote><div><cite> <a href="./viewtopic.php?p={NUMBER}#p{NUMBER}">{TEXT2}, {TEXT1} писал(а):</a></cite> {TEXT3}</div></blockquote>

Т.е. суперцитата одновременно в двух стилях не хочет работать. Я это проверил на двух форумах.

Аватара пользователя
CabinetAdmin

Дата и время в заголовке цитаты. Суперцитата.

CabinetAdmin 25 ноя 2015, 20:52 Сообщение

Завтра посмотрю, а то уже так не помню...

зы. А помимо ббкода, все остальные правки сделаны в обоих стилях? И не работает как, в обоих или только в одном?
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Аватара пользователя
Ариан

Дата и время в заголовке цитаты. Суперцитата.

Ариан 25 ноя 2015, 21:41 Сообщение

Все правки сделаны и перепроверены уже давно. У меня на одном форуме просильвер, на втором сабсильвер. Сейчас на втором запускаю просильвер. Долго мучился, пока не вспомнил, что были траблы больше года назад, когда одновременно на двух форумах суперцитату запускал. Сейчас на модернизируемом форуме суперцитата работает в том стиле, замену HTML которого я вставляю в ВВ-код.

Аватара пользователя
CabinetAdmin

Дата и время в заголовке цитаты. Суперцитата.

CabinetAdmin 26 ноя 2015, 19:53 Сообщение

Поставил на тестовом форуме, на просильвер и сабсильвер с обоими заменами - работает. Единственный момент, это когда меняешь замену, то цитата правильно отображается либо в том, либо в другом стиле... Чтобы они отображались одинаково надо просто добавить подходящие стили.

Вот например, если использовать замену:

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

<blockquote><div><cite><a href="./viewtopic.php?p={NUMBER}#p{NUMBER}">{TEXT2}, {TEXT1} {L_WROTE}:</a></cite>{TEXT3}</div></blockquote>

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

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

blockquote { margin: 10px 5px; padding: 0 5px 5px; border-color: #A9B8C2; border-width: 0 1px 1px 1px; border-style: solid; font-weight: normal; font-size: 1em; line-height: 1.4em; font-family: "Lucida Grande", "Trebuchet MS", Helvetica, Arial, sans-serif; background-color: #FAFAFA; color: #4B5C77; } blockquote cite { margin: 0 -5px 5px; padding: 4px; border-width: 1px 1px 0 1px; border-style: solid; border-color: #A9B8C2; color: #333333; background-color: #A9B8C2; font-size: 0.85em; font-weight: bold; display: block; } blockquote cite cite { font-size: 1em; }


И всё.
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект




Вернуться в «HTML модификации»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя