Уважаемые пользователи!
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
Стаж: 17 лет 5 месяцев
Благодарил (а): 11 раз
Поблагодарили: 13 раз

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

Сообщение Gisher »

Ссылка уже не актуальна, так как в файле 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
Стаж: 13 лет
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза
Контактная информация:

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

Сообщение evrus01 »

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
Стаж: 11 лет 10 месяцев
Благодарил (а): 4 раза

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

Сообщение Innuenze »

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

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

<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
Стаж: 13 лет
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза
Контактная информация:

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

Сообщение evrus01 »

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

Может быть вы не обновили шаблон после внесения правок?
Innuenze
phpBB 1.2.1
Сообщения: 29
Стаж: 11 лет 10 месяцев
Благодарил (а): 4 раза

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

Сообщение Innuenze »

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

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

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

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

onclick="window.open(this.href);return false;",
?
А всё из той статьи я сделал. Другие ссылки в новом окне открываются. И из просмотра тем и из просмотра профиля.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 13 лет
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза
Контактная информация:

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

Сообщение evrus01 »

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

P.s. Вы так и назвали, что у вас за табличный стиль.
Innuenze
phpBB 1.2.1
Сообщения: 29
Стаж: 11 лет 10 месяцев
Благодарил (а): 4 раза

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

Сообщение Innuenze »

Стиль у меня redsilver, но это сути не меняет, т.к. табличные стили сделанные на основе сабсильвера, а для него атрибут target с параметром _blank не является не правильным. Ну это я из этой темы понял.
На счёт тотала смысла нет мне это делать, т.к. я каждый файл уже проверил поиском вручную. И везде у меня проставлено target="_blank"...
не знаю уже, что делать.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

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

Сообщение HAMMER663 »

Innuenze Такой вопрос. Вы кеш форума чистили?
Innuenze
phpBB 1.2.1
Сообщения: 29
Стаж: 11 лет 10 месяцев
Благодарил (а): 4 раза

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

Сообщение Innuenze »

HAMMER663 писал(а):Innuenze Такой вопрос. Вы кеш форума чистили?
Ну конечно. Я ведь написал - все остальные изменения в силу вступили, а именно на этой странице не хочет открывать в новом окне... Или под словом кэш подрузамевается не обновление стиля из админ панели?
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 13 лет
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза
Контактная информация:

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

Сообщение evrus01 »

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

Добавлено спустя 13 минут 8 секунд:
Innuenze писал(а):а именно на этой странице не хочет открывать в новом окне...
Уточните на какой этой?
Innuenze
phpBB 1.2.1
Сообщения: 29
Стаж: 11 лет 10 месяцев
Благодарил (а): 4 раза

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

Сообщение Innuenze »

evrus01 писал(а):Уточните на какой этой?
В списке пользователей.
Спасибо, всё заработало.
realmarakan
phpBB 1.0.0
Сообщения: 6
Стаж: 12 лет 2 месяца
Благодарил (а): 1 раз

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

Сообщение realmarakan »

Доброго времени суток.
Тоже не сразу въехал в эту тему, как сделать ссылки в новом окне. Прочитав эту тему как то давно я только ещё больше запутался… Но недавно во всём разобрался, поставил мод 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.7-PL1
Сообщения: 2535
Стаж: 14 лет 6 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

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

Сообщение МайскийЖук »

На фига нужно вводить какой-то новый атрибут для тэга <a, если у него уже есть атрибут target=? :?
Любовь и боль, покой и бой я как любой несу с собой…
realmarakan
phpBB 1.0.0
Сообщения: 6
Стаж: 12 лет 2 месяца
Благодарил (а): 1 раз

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

Сообщение realmarakan »

МайскийЖук

Начитался про то что лучше не использовать target, мол он устарел. А где то пишут что в html5 это норма... Я пока не оч хорошо разбираюсь, поэтому и было интересно что скажут на счёт этого способа гуру :)
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 14 лет 6 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

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

Сообщение МайскийЖук »

Ну ща Nekstati придет и расскажет про новые веяния. Уж она-то все про это знает. :)
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

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

Сообщение Nekstati »

МайскийЖук, вы тоже прекрасно знаете, что в XHTML 1.0 Strict атрибут target невалиден. А phpBB внезапно использует именно XHTML 1.0 Strict.
Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

Ответить

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