dle.in.ua » Хаки » Вывод полной новости во всплывающем окне

Вывод полной новости во всплывающем окне

Вывод полной новости во всплывающем окне

Данный хак позволит вам выводить полную новость во всплыващем окне. Функция отключается из админки, так что в любой момент можно вернуть к стандартному виду не удаляю данную модификацию.
Вставляем:
/**
@param id новости
@param ссылка на полную новость
@param заголовок который будет отображаться в шапке окна
*/
function showModalNews(id, url, title, modal, options)
{

    modal = $('#modal-news-id-'+id);
    
    options = {
        width : 800,
        modal : true,
        buttons: {
                'Закрыть просмотр':function(){
                    $(this).dialog('close');
                }
            }
    };
    
    if(!modal[0])
    {
    ShowLoading('Загружаю новость '+title);
        modal = $('<div>', {'id':'modal-news-id-'+id,'title':title})
                .appendTo('body')
                .hide()
                .load(url+' #news-id-'+id, function(response, status, xhr){
                    console.log(xhr);
                    if(status == 'error')
                    {
                        ShowLoading('Вы всё сломали! Ошибка #'+xhr.status);
                        $(this).remove();
                    } else
                        $(modal).dialog(options);
                    HideLoading();
                });
    } else    
        $(modal).dialog(options);
}

ИЛИ (сжатая версия кода):
function showModalNews(a,b,c,d,e){d=$("#mnd"+a);e={width:800,modal:true,buttons:{"Закрыть просмотр":function(){$(this).dialog("close")}}};if(!d[0]){ShowLoading("Загружаю новость "+c);d=$("<div>",{id:"mnd"+a,title:c}).appendTo("body").hide().load(b+" #news-id-"+a,function(a,b,c){console.log(c);if(b=="error"){ShowLoading("Вы всё сломали! Ошибка #"+c.status);$(this).remove()}else $(d).dialog(e);HideLoading()})}else $(d).dialog(e)}

И где то в краткой новости нужно вставить HTML код:
<a href="{full-link}" onclick="showModalNews({news-id}, {full-link}, {title});return false;">Fast view</a>


За хак спасибо walkman7 с 4dle.
  • Группа: User
  • Icq: --
  • Комментариев: 7
  • Публикаций: 0
  • А куда именно первый код вставить? И в каком месте админки можно отключить эту опцию? Вроде в коде этого не прописано
    • family
    • Регистрация: 17.03.2010
    • Репутация: (0|0|0)
    • 11 февраля 2012 20:13
    • 1
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 9
  • Публикаций: 2
  • Не хера не пахает уважаемый Горбушка fellow
    • beavern
    • Регистрация: 20.11.2009
    • Репутация: (0|0|0)
    • 12 февраля 2012 09:11
    • 2
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 2
  • Публикаций: 43
  • если не ошибаюсь, этому хаку уже года 3
    • raler
    • Регистрация: 15.01.2012
    • Репутация: (0|0|0)
    • 12 февраля 2012 13:32
    • 3
    ^
  • Группа: Модератор +
  • Icq: --
  • Комментариев: 191
  • Публикаций: 14
  • family, вставлять надо как и любой JS.
    Отключать в админке - нельзя. Это хак, а не полноценный модуль. Если хотите - доработайте до модуля с возможностью отключения для всех/одной новости.

    beavern, вполне возможно, что побился код, проверю чуть позже

    raler, конкретно этому - нет. Был хак, открывающий на AJAX, а этот - в сплывающем окне.

    --------------------
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 9
  • Публикаций: 2
  • Горбушка, не расстраивайтесь он и у автора не работает)))
    • beavern
    • Регистрация: 20.11.2009
    • Репутация: (0|0|0)
    • 12 февраля 2012 15:11
    • 5
    ^
  • Группа: Модератор +
  • Icq: --
  • Комментариев: 191
  • Публикаций: 14
  • Да, увы, хак не рабочий... Сейчас голова не варит уже, чуть позже гляну, что можно сделать...

    --------------------
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 1
  • Публикаций: 0
  • А кто за вас будет библиотеки jQuery ставить? wink
    Вот тогда он будет работать.
    1. UI Core
    2. UI Position
    3.UI Widget
    4. UI Mouse (Optional; only needed if using UI Draggable or UI Resizable)
    5. UI Draggable (Optional)
    6.UI Resizable (Optional)

    Последних 2 пункта пожеланию. Это перемещение или увеличение окна.
    • Julian
    • Регистрация: 21.03.2012
    • Репутация: (0|0|0)
    • 22 марта 2012 00:15
    • 7
    ^
  • Группа: User
  • Icq: 7108299
  • Комментариев: 4
  • Публикаций: 0
  • Бред, не вижу в этом смысла если честно( хотя задумка гуд может кому-то и понадобится
    • Nuf-Nuf
    • Регистрация: 18.07.2012
    • Репутация: (0|0|0)
    • 19 июля 2012 01:44
    • 8
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.