Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[FAQ] Ссылки в новом окне

Темы по наиболее часто задаваемым вопросам без привязки к версии phpBB. Читать в первую очередь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 18 лет 1 месяц
Поблагодарили: 1 раз

[FAQ] Ссылки в новом окне

Сообщение Gisher »

Ссылка уже не актуальна, так как в файле includes/functions.php, нет таких строк:

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

$html    = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append"; 
Есть иное решение?

Ответ: существуют несколько методов изменения поведения ссылок. Выберите для себя один из имеющихся:
  1. Статья в официальной базе знаний, касающаяся открытия ссылок в новом окне
  2. Альтернативный метод изменения поведения ссылок, основанный на использовании JavaScript
  3. Мод Prime Links
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 19 лет 4 месяца
Поблагодарили: 3 раза

Сообщение Rayden »

Зачем иное? Просто строчка перехала в другой файл. Надо же голову приложить хоть капельку.
Вот полное решение, с учетом последних изменений в коде:


In styles/prosilver/template/bbcode.html
find this:

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

<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->


and replace with this:

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

<!-- BEGIN url --><a href="{URL}" class="postlink" target="_blank">{DESCRIPTION}</a><!-- END url -->


open includes/functions_content.php,
find this (around line 592):

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

$html    = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append"; 
and replace with this:

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

$html    = "$whitespace<!-- $tag --><a$class href=\"$url\" target=\"_blank\">$text</a><!-- $tag -->$append";


Open: includes/functions.php
Find:

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

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',
            );  


Replace With:

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

case 'bbcode_htm':
            return array(
                '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                '#<!\-\- l \-\-><a (?:class="[\w-]+" target="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
                '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" target="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
                '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                '#<!\-\- .*? \-\->#s',
                 '#<.*?>#s',
            );   
Добавлено спустя 2 минуты 25 секунд:

И не 15-й, а 16-й это вопрос в факе.
Переименую, пожалуй.
phpBB2 FAQ
phpBB3 FAQ
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 18 лет 1 месяц
Поблагодарили: 1 раз

Сообщение Gisher »

Rayden
спасибо, всё прекрасно работает
есть аналогичное решение для вложенных картинок?
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 18 лет 1 месяц
Поблагодарили: 1 раз

Сообщение Gisher »

Rayden писал(а):И не 15-й, а 16-й это вопрос в факе.
14-й
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 19 лет 4 месяца
Поблагодарили: 3 раза

Сообщение Rayden »

Не умничай. FAQ с тех пор переделали.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
incubus
phpBB 2.0.1
Сообщения: 255
Стаж: 18 лет 1 месяц

Сообщение incubus »

Что-то до меня не доходит, все правильно сделал, перепроверил, очистил кэш, обновил тему - никаких результатов.
Стоит мод Last post topic on index for phpBB3 (rxu), Posts merging (rxu), Quick reply for phpBB3 (rxu) и статистика Visitors Today (1.0.4). Еще в темах, панель с инфо о юзерах, сдвинута влево.
Изображение
Аватара пользователя
incubus
phpBB 2.0.1
Сообщения: 255
Стаж: 18 лет 1 месяц

Сообщение incubus »

Я, не написав ни одного нового поста с ссылкой, начала сразу проверять старые сообщения. Получается, что только в новых сообщениях ссылки будут открываться в новых окнах.
Изображение
Kastaneda
Former team member
Сообщения: 702
Стаж: 20 лет 1 месяц

Сообщение Kastaneda »

Ссылки в старых сообщениях, обрамлённые тегом [url] будут открываться в новом окне. За это отвечает замена, проделанная в файле bbcode.html. А обычные ссылки наверно не будут открываться в новом окне.
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 18 лет 1 месяц
Поблагодарили: 1 раз

Сообщение Gisher »

Kastaneda писал(а):ссылки наверно не будут открываться в новом окне.
вы правы, открываются в новом окне только после редактирования сообщения, скорей всего нужен SQL запрос в базу, который обновит все сообщения
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 16 лет 10 месяцев

Сообщение Crelby »

Gisher писал(а):есть аналогичное решение для вложенных картинок?
+1 к вопросу.
Искал, не нашёл.
Аватара пользователя
Kovu
phpBB 1.2.1
Сообщения: 20
Стаж: 16 лет 11 месяцев
Благодарил (а): 1 раз

Сообщение Kovu »

Вне все исправления. Стоит first_post_on_every_page_phpbb3 & Quick reply for phpBB3. Редактирую сообщение с ссылкой. Нажимаю предпросмотр. И в форме редактирования вместо просто е-майл адреса
name@domain.com появляется
name@domain.com" target="_blank
Как исправить? http:// ссылка не портится.
Аватара пользователя
incubus
phpBB 2.0.1
Сообщения: 255
Стаж: 18 лет 1 месяц

Сообщение incubus »

Да, действительно есть такое. Еще заметил такую особенность, если смотришь в пред. просмотре длинную ссылку, например указывающую на пост, то она обрезается и уже при повтором пред.просмотре/отправке - не корректно отображается.
Изображение
Аватара пользователя
Kovu
phpBB 1.2.1
Сообщения: 20
Стаж: 16 лет 11 месяцев
Благодарил (а): 1 раз

Сообщение Kovu »

Будем надеяться, что Гуру чтонибудь придумают. А пока пришлось оставить новую страницу только для bbcode :(
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 19 лет 4 месяца
Поблагодарили: 3 раза

Сообщение Rayden »

Млять, а это для кого я писал? Без этой правки будет вылезать " target="_blank
Rayden писал(а): Open: includes/functions.php
Find:

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

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',
            );  


Replace With:

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

case 'bbcode_htm':
            return array(
                '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                '#<!\-\- l \-\-><a (?:class="[\w-]+" target="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
                '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" target="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
                '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                '#<!\-\- .*? \-\->#s',
                 '#<.*?>#s',
            );   
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Kovu
phpBB 1.2.1
Сообщения: 20
Стаж: 16 лет 11 месяцев
Благодарил (а): 1 раз

Сообщение Kovu »

Уважаемый Rayden.
Эту правку тоже делал. Но, всеравно, после например нажатия на предпросмотр. В самом предпросмотре еще все ок, а вот в поле редактирования:

1) Портятся е-майл ссылки.

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

name@domain.com
в

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

name@domain.com" target="_blank
2.1) Портятся внутренние ссылки
Т.е. форум у себя сокращает внешний вид внутренних ссылоки.

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

http://domain.com/forum/posting.php?mode=post&f=20
сокращается до

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

posting.php?mode=post&f=20
Это норм, но в самой форме редактирования мы уже тоже видим не нормальную ссылку, а обрезок

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

posting.php?mode=post&f=20
2.2) Портятся длинные ссылки
Например,

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

http://www.google.com/search?hl=en&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=Huhuhu&spell=1
сокращается внешне до

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

http://www.google.com/search?hl=en&sa=X ... hu&spell=1
И в форме редактирования мы опять же получаем не нормальную ссылку, а ее внешний сокращенный вариант

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

http://www.google.com/search?hl=en&sa=X ... hu&spell=1
Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

Вернуться в «FAQ»