Ссылки в сообщениях в новой вкладке (phpbb3)

Позволяет сделать так, чтобы все ссылки на другие сайты на форуме в сообщениях открывались в отдельной вкладке/окне

Украшения для сайтов и форумов на новый год, 8 марта, 23 февраля, 9 мая и другие праздники.
Ответить

Сообщение Admin »

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

1. Закачиваем в модуль "картинки и логотипы" файл postlink.js
Архив с файлом postlink.js можно скачать здесь
postlink.rar
(9.3 КБ) 20 скачиваний
Получаем ссылку на закаченный файл, например https://phpbb3.x-tk.ru/store/phpbb3_kabb_ru/images/postlink.js

2. открываем overall_header.html и в любое место после <head> вписываем строчку

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

<script type="text/javascript" src="https://phpbb3.x-tk.ru/store/phpbb3_kabb_ru/images/postlink.js"></script>
Вместо https://phpbb3.x-tk.ru/store/phpbb3_kabb_ru/images/postlink.js разумеется указываем ссылку на свой закаченный файл.

Сообщение AleksNik »

Здравствуйте! Всё сделал как описано и действительно ссылки открываются в новом окне, но зато пропадают кнопки редактирования (Изменить,Удалить...Цитировать) в сообщении. Перемещал скрипт по всему телу overall_header.html <head></head> результат тот же. При удалении скрипта <script type="text/javascript" src="{T_TEMPLATE_PATH}/postlink.js"></script> кнопки появляются. В чём причина, не подскажете?

Сообщение Admin »

AleksNik писал(а):Здравствуйте! Всё сделал как описано и действительно ссылки открываются в новом окне, но зато пропадают кнопки редактирования (Изменить,Удалить...Цитировать) в сообщении. Перемещал скрипт по всему телу overall_header.html <head></head> результат тот же. При удалении скрипта <script type="text/javascript" src="{T_TEMPLATE_PATH}/postlink.js"></script> кнопки появляются. В чём причина, не подскажете?
postlink.zip
Новый скрипт
(9.33 КБ) 18 скачиваний
Извлеките из архива файл postlink.js и поместите его в корневую папку /
Откройте файл overall_header.html всех установленных стилей и…
Найти:

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

<script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>
Добавить после:

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

<script type="text/javascript" src="./postlink.js"></script>
После этого все ссылки в сообщениях (за исключением локальных) будут открываться в новых окнах без необходимости редактирования старых сообщений.

Если вдруг работать не будет или появятся ошибки, то в корне вашего форума создайте папку например "script" и поместите в неё postlink.js.
Откройте файл overall_header.html всех установленных стилей и…
Найти:

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

<script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>
Добавить после:

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

<script type="text/javascript" src="./script/postlink.js"></script>
Можете подключить с нашего форума.

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

<script type="text/javascript" src="https://phpbb3.x-tk.ru/images/ranks/phpbb3_kabb_ru/postlink.js"></script>

Сообщение AleksNik »

К сожалению, ничего не получается и с новым postlink.zip (правда никаких изменений со старым не заметил).
Совал postlink.js в корень форума и создавал папку sript с вложенным postlink.js.Ссылки открываются в новой вкладке без вопросов, но всё равно пропадают кнопки редактирования (Изменить,Удалить...Цитировать) в сообщении. Удаляю в overall_header.html строку со скриптом кнопки появляются, но соответственно ссылки в сообщениях в новой вкладке не открываются. Может предложите какой нибудь альтернативный вариант. Пробовал с BBcode

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

[URLnew=Text1]Text2[URL new]
решить проблему, но ругается на параметр Text

Сообщение Admin »

Видимо конфликт скриптов. Дайте ссылку на ваш форум взглянуть.
Попробуйте этот простой вариант viewtopic.php?t=21

Сообщение AleksNik »

Admin писал(а):Видимо конфликт скриптов. Дайте ссылку на ваш форум взглянуть.
Попробуйте этот простой вариант viewtopic.php?t=21
Извините был в отпуске, поэтому не мог оперативно ответить на Ваше замечание.
Вариант я тоже пробовал

Сообщение Merlin »

AleksNik
Попробуйте так
открыть functions_content.php

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

    $html    = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
            
И заменить его следующим

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

    if ($type == MAGIC_URL_EMAIL)
    {
        $html    = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";    
    }
    else 
    {
        $html    = "$whitespace<!-- $tag --><a$class href=\"$url\" onclick=\"window.open(this.href);return false;\">$text</a><!-- $tag -->$append";
    } 
открыть bbcode.html

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

<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->
заменить

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

<!-- BEGIN url --><a href="{URL}" onclick="window.open(this.href);return false;" class="postlink">{DESCRIPTION}</a><!-- END url -->
последнее, но не менее, вы также должны сделать следующее изменение, которое позволит создана выход HTML, который будет обработан снова PHPBB: Откройте functions.php и заменить этот сегмент, который вы должны найти вокруг линии 2740 ...

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

      case 'bbcode_htm':
         return array(
            '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
            '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
            '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
            '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
            '#<!\-\- .*? \-\->#s',
            '#<.*?>#s',
         );
... С этим:

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

      case 'bbcode_htm':
         return array(
            '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
            '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?" onclick="window\.open\(this\.href\);return false;">.*?</a><!\-\- l \-\->#',
            '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)" onclick="window\.open\(this\.href\);return false;">.*?</a><!\-\- \1 \-\->#',
            '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
            '#<!\-\- .*? \-\->#s',
            '#<.*?>#s',
         );
А так как вы обновили также файл шаблона, не забудьте также очистить кэш вашего форума через соответствующую кнопку на главной странице в админ-панели вашего платы. Примечание: Это изменение не повлияет на существующие сообщения, вы должны отредактировать их, чтобы они могут быть переработаны.

https://www.phpbb.com/kb/article/links- ... w-windows/ FAQ на английском но вроде все понятно. Инструкция на официальном форуме поддержки.

Сообщение AleksNik »

Огромное спасибо! Всё сделал согласно именно этой рекомендации и всё заработало прекрасно. Рекомендуйте
её всем у кого возникнут подобные проблемы. Раньше не мог отписаться так как живу в Ейском районе и у нас прошёл ураган, двое суток сидели без электричества.

Поделитесь ссылкой.

HTML код
BBCode
Link
Ответить

Вернуться в «Украшения для форумов и сайтов»

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

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