Страница 1 из 13
[FAQ] Ссылки в новом окне
Добавлено: 16.12.2007 3:07
Gisher
Ссылка уже не актуальна, так как в файле includes/functions.php, нет таких строк:
Код: Выделить всё
$html = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
Есть иное решение?
Ответ: существуют несколько методов изменения поведения ссылок. Выберите для себя один из имеющихся:
- Статья в официальной базе знаний, касающаяся открытия ссылок в новом окне
- Альтернативный метод изменения поведения ссылок, основанный на использовании JavaScript
- Мод Prime Links
Добавлено: 16.12.2007 3:18
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',
);
R
eplace 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-й это вопрос в факе.
Переименую, пожалуй.
Добавлено: 16.12.2007 3:37
Gisher
Rayden
спасибо, всё прекрасно работает
есть аналогичное решение для вложенных картинок?
Добавлено: 06.01.2008 8:32
Gisher
Rayden писал(а):И не 15-й, а 16-й это вопрос в факе.
14-й
Добавлено: 06.01.2008 18:48
Rayden
Не умничай. FAQ с тех пор переделали.
Добавлено: 07.01.2008 2:35
incubus
Что-то до меня не доходит, все правильно сделал, перепроверил, очистил кэш, обновил тему - никаких результатов.
Стоит мод Last post topic on index for phpBB3 (rxu), Posts merging (rxu), Quick reply for phpBB3 (rxu) и статистика Visitors Today (1.0.4). Еще в темах, панель с инфо о юзерах, сдвинута влево.
Добавлено: 07.01.2008 16:30
incubus
Я, не написав ни одного нового поста с ссылкой, начала сразу проверять старые сообщения. Получается, что только в новых сообщениях ссылки будут открываться в новых окнах.
Добавлено: 07.01.2008 17:02
Kastaneda
Ссылки в старых сообщениях, обрамлённые тегом [url] будут открываться в новом окне. За это отвечает замена, проделанная в файле bbcode.html. А обычные ссылки наверно не будут открываться в новом окне.
Добавлено: 08.01.2008 11:20
Gisher
Kastaneda писал(а):ссылки наверно не будут открываться в новом окне.
вы правы, открываются в новом окне только после редактирования сообщения, скорей всего нужен SQL запрос в базу, который обновит все сообщения
Добавлено: 09.01.2008 10:13
Crelby
Gisher писал(а):есть аналогичное решение для вложенных картинок?
+1 к вопросу.
Искал, не нашёл.
Добавлено: 12.01.2008 23:16
Kovu
Вне все исправления. Стоит first_post_on_every_page_phpbb3 & Quick reply for phpBB3. Редактирую сообщение с ссылкой. Нажимаю предпросмотр. И в форме редактирования вместо просто е-майл адреса
name@domain.com появляется
Как исправить? http:// ссылка не портится.
Добавлено: 13.01.2008 0:01
incubus
Да, действительно есть такое. Еще заметил такую особенность, если смотришь в пред. просмотре длинную ссылку, например указывающую на пост, то она обрезается и уже при повтором пред.просмотре/отправке - не корректно отображается.
Добавлено: 13.01.2008 1:01
Kovu
Будем надеяться, что Гуру чтонибудь придумают. А пока пришлось оставить новую страницу только для bbcode
Добавлено: 13.01.2008 4:29
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',
);
R
eplace 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',
);
Добавлено: 13.01.2008 20:31
Kovu
Уважаемый
Rayden.
Эту правку тоже делал. Но, всеравно, после например нажатия на предпросмотр. В самом предпросмотре еще все ок, а вот в поле редактирования:
1) Портятся е-майл ссылки.
в
2.1) Портятся внутренние ссылки
Т.е. форум у себя сокращает внешний вид внутренних ссылоки.
Код: Выделить всё
http://domain.com/forum/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