1

Тема: Открытие ссылки в новом окне

Здравствуйте.
Как заставить ссылки в виде

site.ru/engine/go.php?url=JKFyug7FGjkGJJf

открываться в новой вкладке?

Re: Открытие ссылки в новом окне

Так же как и все остальные - добавить target="_blank"

3

Re: Открытие ссылки в новом окне

Это понятно) Как это сделать массово, для всех таких ссылок, которых вагон и маленькая тележка?

Re: Открытие ссылки в новом окне

Где-то в файле функций, формирующих leech ссылки. Но мне искать лень и некогда, к сожалению.

5

Re: Открытие ссылки в новом окне

При добавлении коммента (также как и при добавлении новости) весь текст и ссылки обрабатываются через parse.class.php и коммент вносится в базу, где он и хранится с обработанной ссылкой, если в ней нет Бланка, то ему и взяться уже неоткуда.
Но ерунда в том, что вроде как Бланк и так должен добавляться ко всем внешним ссылкам в личе, а к внутренним нет, если двиг не делает этого, то нужно поправить smile  Версия какая?

Для старых ссылок можно попробовать go.php поправить, но там редираект придется через скрипт делать или еще как-то т.к. просто новые окна не открываются без команды smile

Ну а самый наверное простой вариант набросать небольшой скриптик, который будет искать все ссылки по нужным параметрам и добавлять в них бланк автоматом.

6

Re: Открытие ссылки в новом окне

svetlana пишет:

Версия какая?

10.2

7

Re: Открытие ссылки в новом окне

в parse.class.php где-то с 826 строки
такой кусок есть?

        if( $this->check_home( $url['html'] ) OR $url['html'][0] == "/" OR $url['html'][0] == "#") $target = "";
        else $target = "target=\"_blank\"";
        
        if( $url['leech'] ) {
            
            $url['html'] = $config['http_home_url'] . "engine/go.php?url=" . rawurlencode( base64_encode( $url['html'] ) );
            
            return "<!--dle_leech_begin--><a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end'];
        
        } else {

            if ($this->safe_mode AND !$config['allow_search_link'] AND $target)
                return "<a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $url['show'] . "</a>" . $url['end'];
            else        
                return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a>" . $url['end'];
        
        }

8

Re: Открытие ссылки в новом окне

Есть.

9

Re: Открытие ссылки в новом окне

И при этом даже если добавить новую внешнюю ссылку в личе она не открывается в новом окне?

Я чет выше про комменты писала, с чего это я решила, что мы про них smile

А случаем редактор стоит не отличный от стандартного bbcode т.е. другой? Я ими не пользуюсь, просто возможно в них нужно самостоятельно прописывать бланк для всех ссылок.

Ну и чтобы разговор не растягивать smile
Вот примерный вариант вам в main.tpl перед </head>

<script>$(document).ready(function() {$('a[href*="/engine/go.php"]').attr('target','_blank');});</script>

он должен будет ко всем ссылкам с /engine/go.php добавлять бланк.

10

Re: Открытие ссылки в новом окне

Новые внешние ссылки в личе открываются как положено, в новом окне. Просто я когда-то сделал то, что не надо было делать и все внешние ссылки переписались на go.php?url=JKFyug7FGjkGJJf roll
За скрипт спасибо.

11 (21.07.2015 20:48 отредактировано svetlana)

Re: Открытие ссылки в новом окне

Ну так может просто перестроить публикации и все.
Ну тут в начале резервное копирование сделать нужно, дабы не попортить чего.

А так перестройка новостей должна поправить все ссылки в личе, если конечно они при редактировании новости в личе, а не пойми как smile.

12

Re: Открытие ссылки в новом окне

svetlana пишет:

если конечно они при редактировании новости в личе, а не пойми как

Они не в личе, а в таком виде, как я писал smile