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

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

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

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

Сообщение Gisher » 16.12.2007 3:07

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

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

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

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

Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Зарегистрирован: 24.03.2011 13:59
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

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

Сообщение evrus01 » 29.05.2012 10:40

Innuenze, /styles/prosilver/template/memberlist_view.html
Найти

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

<!-- IF U_WWW --><dt>{L_WEBSITE}:</dt> <dd><a href="{U_WWW}" title="{L_VISIT_WEBSITE}: {U_WWW}">{U_WWW}</a></dd><!-- ENDIF -->
Заменить на

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

<!-- IF U_WWW --><dt>{L_WEBSITE}:</dt> <dd><a href="{U_WWW}" title="{L_VISIT_WEBSITE}: {U_WWW}" onclick="window.open(this.href);return false;">{U_WWW}</a></dd><!-- ENDIF -->
Добавлено спустя 10 минут 24 секунды:
При просмотре списка пользователей:

/styles/prosilver/template/memberlist_body.html

Найти

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

<td class="info"><!-- IF memberrow.U_WWW or memberrow.LOCATION --><!-- IF memberrow.U_WWW --><div><a href="{memberrow.U_WWW}" title="{L_VISIT_WEBSITE}: {memberrow.U_WWW}">{memberrow.U_SHORT_WWW}</a></div><!-- ENDIF --><!-- IF memberrow.LOCATION --><div>{memberrow.LOCATION}</div><!-- ENDIF --><!-- ELSE -->&nbsp;<!-- ENDIF --></td>
Заменить

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

<td class="info"><!-- IF memberrow.U_WWW or memberrow.LOCATION --><!-- IF memberrow.U_WWW --><div><a href="{memberrow.U_WWW}" title="{L_VISIT_WEBSITE}: {memberrow.U_WWW}" onclick="window.open(this.href);return false;">{memberrow.U_SHORT_WWW}</a></div><!-- ENDIF --><!-- IF memberrow.LOCATION --><div>{memberrow.LOCATION}</div><!-- ENDIF --><!-- ELSE -->&nbsp;<!-- ENDIF --></td>

Innuenze
phpBB 1.2.1
Сообщения: 29
Зарегистрирован: 12.05.2012 8:50
Благодарил (а): 4 раза

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

Сообщение Innuenze » 29.05.2012 13:15

У меня шаблон табличный.
И в мемберлист боди такая строка:

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

<td class="gen" align="center">&nbsp;<!-- IF memberrow.U_WWW --><a href="{memberrow.U_WWW}" target="_blank" rel="nofollow">{WWW_IMG}</a><!-- ENDIF -->&nbsp;</td>
Но всё-равно не помогает.

Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Зарегистрирован: 24.03.2011 13:59
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

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

Сообщение evrus01 » 29.05.2012 13:54

Innuenze, вам необходимо к ссылкам добавить событие onclick="window.open(this.href);return false;",
о чем написано в первом посте этой темы – Статья в официальной базе знаний, касающаяся открытия ссылок в новом окне

Может быть вы не обновили шаблон после внесения правок?

Innuenze
phpBB 1.2.1
Сообщения: 29
Зарегистрирован: 12.05.2012 8:50
Благодарил (а): 4 раза

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

Сообщение Innuenze » 30.05.2012 6:56

evrus01, т.е. просто вместо

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

target="_blank"
вставить

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

onclick="window.open(this.href);return false;",
?
А всё из той статьи я сделал. Другие ссылки в новом окне открываются. И из просмотра тем и из просмотра профиля.

Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Зарегистрирован: 24.03.2011 13:59
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

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

Сообщение evrus01 » 30.05.2012 12:11

Нельзя использовать target="_blank" – у нас DOCTYPE XHTML 1.0 Strict
Возьмите Total commander зайдите в папку со стилем и нажмите поиск по строке WWW, учитывая регистр.

P.s. Вы так и назвали, что у вас за табличный стиль.

Innuenze
phpBB 1.2.1
Сообщения: 29
Зарегистрирован: 12.05.2012 8:50
Благодарил (а): 4 раза

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

Сообщение Innuenze » 31.05.2012 8:14

Стиль у меня redsilver, но это сути не меняет, т.к. табличные стили сделанные на основе сабсильвера, а для него атрибут target с параметром _blank не является не правильным. Ну это я из этой темы понял.
На счёт тотала смысла нет мне это делать, т.к. я каждый файл уже проверил поиском вручную. И везде у меня проставлено target="_blank"...
не знаю уже, что делать.

Аватара пользователя
HAMMER663
Former team member
Сообщения: 2028
Зарегистрирован: 17.04.2010 12:59
Откуда: Зеленоград
Благодарил (а): 71 раз
Поблагодарили: 246 раз

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

Сообщение HAMMER663 » 31.05.2012 10:07

Innuenze Такой вопрос. Вы кеш форума чистили?

Innuenze
phpBB 1.2.1
Сообщения: 29
Зарегистрирован: 12.05.2012 8:50
Благодарил (а): 4 раза

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

Сообщение Innuenze » 31.05.2012 12:18

HAMMER663 писал(а):Innuenze Такой вопрос. Вы кеш форума чистили?
Ну конечно. Я ведь написал - все остальные изменения в силу вступили, а именно на этой странице не хочет открывать в новом окне... Или под словом кэш подрузамевается не обновление стиля из админ панели?

Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Зарегистрирован: 24.03.2011 13:59
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

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

Сообщение evrus01 » 01.06.2012 12:18

Именно это и подразумевается.
835330-612012111823am.png
Добавлено спустя 3 минуты 21 секунду:
Innuenze писал(а):На счёт тотала смысла нет мне это делать, т.к. я каждый файл уже проверил поиском вручную.
Все таки попробуйте. Только не забудьте поставить [учитывать регистр].

Добавлено спустя 13 минут 8 секунд:
Innuenze писал(а):а именно на этой странице не хочет открывать в новом окне...
Уточните на какой этой?

Innuenze
phpBB 1.2.1
Сообщения: 29
Зарегистрирован: 12.05.2012 8:50
Благодарил (а): 4 раза

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

Сообщение Innuenze » 01.06.2012 12:40

evrus01 писал(а):Уточните на какой этой?
В списке пользователей.
Спасибо, всё заработало.

realmarakan
phpBB 1.0.0
Сообщения: 6
Зарегистрирован: 12.01.2012 22:52
Благодарил (а): 1 раз

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

Сообщение realmarakan » 05.06.2012 22:12

Доброго времени суток.
Тоже не сразу въехал в эту тему, как сделать ссылки в новом окне. Прочитав эту тему как то давно я только ещё больше запутался… Но недавно во всём разобрался, поставил мод Prime Links, и сделал редирект по рецепту DOMINATOR описаный в теме Редирект (переадресация, перенаправление) внешних ссылок.

Теперь все внутренние ссылки открываться в том же окне а внешние в новом – но это только в сообщениях. Прочитав тему (ссылка выше) я нашел, как поставить редирект в профили, и на ссылки в списке пользователей. Теперь они тоже открываются в новом окне через редирект.

И способ который я использовал для ссылок которым редирект не нужен, но нужно открыть их в новом окне:
Открыть overall_header.html
Найти: Заменить на:

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

  <script type="text/javascript">
  /* <![CDATA[ */
   function externalLinks() {
    links = document.getElementsByTagName("a");
    for (i=0; i<links.length; i++) {
      link = links[i];
      if (link.getAttribute("href") && link.getAttribute("rel") == "external")
      link.target = "_blank";
    }
   }
   window.onload = externalLinks;
  /* ]]> */ 
 </script>
</head>
Теперь ссылкам которые надо открыть в новом окне добавляю rel="external".

Как открывать в новом окне ссылки, созданные как форум – тип форума: ссылка.
(скин на базе subsilver, phpbb 3.0.10). У меня получилось немного иначе как написано выше, вот так:
Открыть forumlist_body.html и найти:

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

<a class="forumlink" href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a>
Заменить на:

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

<a class="forumlink" href="{forumrow.U_VIEWFORUM}" <!-- IF forumrow.S_IS_LINK -->rel="external"<!-- ENDIF -->>{forumrow.FORUM_NAME}</a>
Найти:

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

<a class="forumlink<!-- IF forumrow.S_UNREAD_FORUM --> link-new<!-- ENDIF -->" href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a>
Заменить на:

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

<a class="forumlink<!-- IF forumrow.S_UNREAD_FORUM --> link-new<!-- ENDIF -->" href="{forumrow.U_VIEWFORUM}" <!-- IF forumrow.S_IS_LINK -->rel="external"<!-- ENDIF -->>{forumrow.FORUM_NAME}</a>
У меня это строки 33 и 58.

Аватара пользователя
МайскийЖук
phpBB 3.0.6
Сообщения: 2388
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 17 раз
Поблагодарили: 304 раза

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

Сообщение МайскийЖук » 05.06.2012 22:19

На фига нужно вводить какой-то новый атрибут для тэга <a, если у него уже есть атрибут target=? :?
Любовь и боль, покой и бой я как любой несу с собой…

realmarakan
phpBB 1.0.0
Сообщения: 6
Зарегистрирован: 12.01.2012 22:52
Благодарил (а): 1 раз

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

Сообщение realmarakan » 05.06.2012 22:29

МайскийЖук

Начитался про то что лучше не использовать target, мол он устарел. А где то пишут что в html5 это норма... Я пока не оч хорошо разбираюсь, поэтому и было интересно что скажут на счёт этого способа гуру :)

Аватара пользователя
МайскийЖук
phpBB 3.0.6
Сообщения: 2388
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 17 раз
Поблагодарили: 304 раза

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

Сообщение МайскийЖук » 05.06.2012 22:31

Ну ща Nekstati придет и расскажет про новые веяния. Уж она-то все про это знает. :)
Любовь и боль, покой и бой я как любой несу с собой…

Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2787
Зарегистрирован: 19.03.2009 17:43
Благодарил (а): 23 раза
Поблагодарили: 999 раз

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

Сообщение Nekstati » 06.06.2012 14:22

МайскийЖук, вы тоже прекрасно знаете, что в XHTML 1.0 Strict атрибут target невалиден. А phpBB внезапно использует именно XHTML 1.0 Strict.

Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

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