Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Проблемы с установкой или работой phpBB 3.0.х. Решение проблем связанных с модами, стилями, доработками и так далее.
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Вс янв 31, 2016 11:51 am

Название: Open Link New Window
Описание: Расширение открывает в новой вкладке: картинки - миниатюры, все внешние ссылки, в том числе и копирайты, а так же ссылки на сайты пользователей в мини профиле, в профиле и в списке всех пользователей.
Автор: Slash
Версия: 0.0.1
Установка: Перенести файлы расширения в папку: /ext/Slash/OpenLinkNewWindow/, затем включить расширение в администраторском разделе на странице: Администраторский раздел > Персонализация.
Вложения
Open Link New Window.zip
(2.21 КБ) 18 скачиваний
Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Ср фев 03, 2016 7:10 pm

Если вы используете расширение товарища Anvar - External Links - Менеджер внешних ссылок http://bb3.mobi/forum/viewtopic.php?f=2&t=26
Вам следует изменить файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html, так:

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

<!-- IF not EXTERNAL_RED -->
<
script type="text/javascript">
$(
'a[href^="http"]').not('a[href^="' + window.location.origin + '"]').click(function() {
    window.open(this.href);
    return false;
});
<!--
 IF S_VIEWTOPIC or S_IN_POSTING -->

$(
'dl.thumbnail a').click(function() {
    window.open(this.href);
    return false;
});
<!--
 ENDIF -->
</script>
<!-- ENDIF -->

Дело в том, что на странице переадресации, расширения External Links, будет открывать все ссылки в новом окне, а там этого не должно быть.
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Чт фев 04, 2016 8:59 pm

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

Открыть файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html, найти:

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

$('dl.thumbnail a').click(function() {
    window.open(this.href);
    return false;
});

И заменить на:

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

$('dl.thumbnail a').click(function(event)
{
    event.preventDefault();    
    var href 
= $(this).attr('href');
    var mouse = $(this).offset();
    
    function size
(href)
    {
        var img = new Image();
        img.src = href;
        img.onload = function()
        {
            return img;
        }

        return img;
    }
    
    var imgsize 
= size(href);
    var mousepx = mouse.top - 300;
    
    
$('.window').css({
        'width'            : imgsize.width + 'px',
        'height'           : imgsize.height + 'px',
        'background-image' : 'url(' + href + ')',        
        
'position'         : 'absolute',
        'border'           : '1px solid #999999',
        'border-radius'    : '4px',        
        
'box-shadow'       : '0 0 12px rgba(0,0,5,1)',
        'top'              : mousepx + 'px',
        'left'             : '35px',    
    
});    
});

var block = $('<div class="window"></div>');
$(
block).appendTo('body');    

$('dl.thumbnail a').click(function()
{
    $('.window').fadeIn('slow');
});

$(
'.window').click(function()
{
    $('.window').fadeOut('slow');
});

После почистить кеш.
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Пт фев 05, 2016 12:42 pm

Немного подправил код, теперь картинка появляется по центру экрана, а не с боку:

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

$('dl.thumbnail a').click(function(event)
{
    event.preventDefault();    
    var href 
= $(this).attr('href');
    var spot = $(this).offset();
    
    function size
(href)
    {
        var img = new Image();
        img.src = href;
        img.onload = function()
        {
            return img;
        }

        return img;
    }
    
    var imgsize 
= size(href);
    var top     = spot.top - 250;
    var left    = imgsize.width / 2;
    
    
$('.window').css({
        'width'            : imgsize.width + 'px',
        'height'           : imgsize.height + 'px',
        'background-image' : 'url(' + href + ')',        
        
'position'         : 'absolute',
        'border'           : '1px solid #999999',
        'border-radius'    : '4px',        
        
'box-shadow'       : '0 0 12px rgba(0,0,5,1)',
        'top'              : top + 'px',
        'margin-left'      : '-' + left + 'px',        
        
'left'             : '50%',    
    
});    
});

var block = $('<div class="window"></div>');
$(
block).appendTo('body');    

$('dl.thumbnail a').click(function()
{
    $('.window').fadeIn('slow');
});

$(
'.window').click(function()
{
    $('.window').fadeOut('slow');    
});

Инструкция для затемнения страницы при появлении картинки (нуждается в доработке), делаем так, после:

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

        'margin-left'      : '-' + left + 'px',        
        
'left'             : '50%',    
    
});

Добавляем:

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

    $('#wrap').css({
        'background'       : '#000000',
        'opacity'          : '0.6',        
    
});

И после:

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

    $('.window').fadeOut('slow');

Добавляем:

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

    $('#wrap').css({
        'background'       : '',
        'opacity'          : '',        
    
});

После внесенных изменений, необходимо почистить кеш форума.
cefp
Сообщения: 332
Поблагодарили: 3 раза

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение cefp » Пт фев 05, 2016 1:28 pm

Хорошо получилось, что если ещё добавить центрирование по вертикали? Бывает, что часть картинки уходит за экран, хотя высота экрана позволяет увидеть всю.
d o h o d - s - n u l y a .ru - идеи бизнеса.
Аватара пользователя
HD321kbps
Сообщения: 2

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение HD321kbps » Сб фев 06, 2016 6:23 pm

Жаль что не подхватывает ссылки в расширениях к примеру в чатах.
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Вс фев 07, 2016 7:29 pm

HD321kbps писал(а):Жаль что не подхватывает ссылки в расширениях к примеру в чатах.

Для mChat (https://www.phpbb.com/community/viewtop ... &t=2281451) следует добавить в файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html:

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

$('div#mchat-body').on('click''a', function()
{
    
window.open(this.href);
    return 
false;
}); 

Почистить кеш.
Аватара пользователя
HD321kbps
Сообщения: 2

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение HD321kbps » Пн фев 08, 2016 2:49 am

Для cbb Chat (http://www.canidev.com/app/?lang=en&i=cbb-chat-v1.1.1) следует добавить в файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html:

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

$('div#chat-body').on('click', "a.postlink", function()
{
    window.open(this.href);
    return false;
});
Gunzel
Сообщения: 2
Благодарил (а): 1 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Gunzel » Пн сен 26, 2016 1:49 am

Здравствуйте уважаемый Slash. Спасибо вам за полезное расширение. Подскажите как подружить его с расширением Highslide от Anvar ? Получается что при включенных обоих расширениях , когда кликаешь на вложенную картинку, срабатывают оба. А хотелось бы, чтоб вложенные картинки открывались только в "Highslide".
Аватара пользователя
Slash
Администратор
Сообщения: 2028
Поблагодарили: 62 раза

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Пн сен 26, 2016 7:12 am

Gunzel, откройте файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html и удалите строки:

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

<!-- IF S_VIEWTOPIC or S_IN_POSTING -->

$(
'dl.thumbnail a').click(function() {
    
window.open(this.href);
    return 
false;
});
<!-- ENDIF --> 

После очистите кэш.
Gunzel
Сообщения: 2
Благодарил (а): 1 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Gunzel » Пн сен 26, 2016 9:16 pm

Slash, безгранично вам благодарен :D

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость