Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Помогите с js кодом в модуле {ajax full-story}

Тема в разделе "Вопросы- ответы", создана пользователем zis-test, 10 авг 2019.

10.08.19 в 21:54
11.08.19 в 12:55
7
443
0
  1. TopicStarter Overlay
    zis-test

    zis-test Посетитель

    Регистрация:
    9 ноя 2017
    Сообщения:
    81
    Лучших ответов:
    0
    Рейтинги:
    +12 / 3 / -0
    Собственно сам вопрос по модулю {AJAX FULL-STORY}, как мне сделать так, что бы инфа выводилась не в стандартном модальном окне от DLE, а в модальном окне Bootstrap.
    Есть код
    $(document).on('click', '[data-afs-id]', function () {
    var $this = $(this),
    $data = $this.data();

    $.ajax({
    url: dle_root + 'engine/ajax/full-story.php',
    type: 'GET',
    dataType: 'html',
    data: {
    newsId: $data.afsId, // Обязательная переменная
    preset: ($data.afsPreset) ? $data.afsPreset : '', // Название файла с настройками (необязательно)
    template: ($data.afsTemplate) ? $data.afsTemplate : '', // Название файла с шаблоном (необязательно)
    },
    })
    .done(function (data) {
    var $html = $(data);

    // Данные получены, можно заняться разбором и показать их в диалоге
    // Ниже простейший пример вывода контента в стандартном модальном окне DLE

    var modalId = 'afs-' + $data.afsId + '-' + $data.afsPreset + '-' + $data.afsTemplate;
    modalId = modalId.replace(/\//g, "-");

    var $modalBlock = $('<div style="display: none;"><div id="' + modalId + '"></div></div>');

    $modalBlock
    .appendTo('body') // Добавляем блок на страницу
    .find('#' + modalId) // Ищем интересующий нас селектор
    .html($html) // Вставляем в него полученный код
    .dialog({ // Показываем модальное окно
    width: 800
    });

    })
    .fail(function () {
    console.log("full-story error");
    });
    });

    этот код выводит блок такого типа

    <div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable" style="" tabindex="-1" role="dialog" aria-labelledby="ui-id-1">
    <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"><span id="ui-id-1" class="ui-dialog-title">&nbsp;</span><a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button" data-select-link-text="1"><span class="ui-icon ui-icon-closethick">close</span></a></div>
    <div id="afs-548-undefined-undefined" class="ui-dialog-content ui-widget-content" style="width: auto; min-height: 130px; height: auto;" scrolltop="0" scrollleft="0">

    ////////////// тут содержимое которое подгружается с шаблона /////////////

    </div>
    </div>

    У меня есть уже настроеное модальное окно но оно работает на Bootstrap и много JS на нем завязано,
    так вот, как мне сделать так, что бы это все дело выводилось таким образом:
    <div class="modaler-poster fade-poster" id="pley{news-id}" tabindex="-1" role="dialog" aria-labelledby="pley{news-id}" aria-hidden="true">
    <div class="modaler-poster-dialog window-popup event-private-public public-event" role="document">
    <div class="modaler-poster-content">
    <div class="close icon-close" data-poster="modaler-poster" aria-label="Close">
    <svg><use xlink:href="{THEME}/js/test/style/img/svg-icons/icons.svg#olymp-close-icon"></use></svg>
    </div>
    ////////////// тут содержимое которое подгружается с шаблона/////////////
    </div>
    </div>
    </div>
    Нужно поправить JS, помогите решить проблему.
     
  2. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    zis-test заменить js скрипт модуля на этот
    Код:
    $(document).on('click', '[data-afs-id]', function () {
        var $this = $(this),
            $data = $this.data();
    
        $.ajax({
                url: dle_root + 'engine/ajax/full-story.php',
                type: 'GET',
                dataType: 'html',
                data: {
                    newsId: $data.afsId, // Обязательная переменная
                    preset: ($data.afsPreset) ? $data.afsPreset : '', // Название файла с настройками (необязательно)
                    template: ($data.afsTemplate) ? $data.afsTemplate : '', // Название файла с шаблоном (необязательно)
                },
            })
            .done(function (data) {
                var $html = $(data);
                var modalId = $data.afsId;
                $('#pley' + modalId + ' > .modaler-poster-content').append($html);
            })
            .fail(function () {
                console.log("full-story error");
            });
    });
     
  3. TopicStarter Overlay
    zis-test

    zis-test Посетитель

    Регистрация:
    9 ноя 2017
    Сообщения:
    81
    Лучших ответов:
    0
    Рейтинги:
    +12 / 3 / -0
    Пример не работает, точнее вообще ничего не происходит.
     
  4. TopicStarter Overlay
    zis-test

    zis-test Посетитель

    Регистрация:
    9 ноя 2017
    Сообщения:
    81
    Лучших ответов:
    0
    Рейтинги:
    +12 / 3 / -0
    Можно сделать так, что бы это все выводилось не модальным окном?
     
  5. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Обновил код.
    Код:
    $(document).on('click', '[data-afs-id]', function () {
        var $this = $(this),
            $data = $this.data();
    
        $.ajax({
                url: dle_root + 'engine/ajax/full-story.php',
                type: 'GET',
                dataType: 'html',
                data: {
                    newsId: $data.afsId, // Обязательная переменная
                    preset: ($data.afsPreset) ? $data.afsPreset : '', // Название файла с настройками (необязательно)
                    template: ($data.afsTemplate) ? $data.afsTemplate : '', // Название файла с шаблоном (необязательно)
                },
            })
            .done(function (data) {
                var $html = $(data);
                var modalId = $data.afsId;
                $('#pley' + modalId + ' > .modaler-poster-dialog > .modaler-poster-content').append($html);
            })
            .fail(function () {
                console.log("full-story error");
            });
    });
     
  6. TopicStarter Overlay
    zis-test

    zis-test Посетитель

    Регистрация:
    9 ноя 2017
    Сообщения:
    81
    Лучших ответов:
    0
    Рейтинги:
    +12 / 3 / -0
    Ни работает.
     
  7. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    потому что вам нужно вызвать код вызова вашего окна. Я сделал вставку в контейнер окна, а вам осталось после него сделать вызов.
     
  8. TopicStarter Overlay
    zis-test

    zis-test Посетитель

    Регистрация:
    9 ноя 2017
    Сообщения:
    81
    Лучших ответов:
    0
    Рейтинги:
    +12 / 3 / -0
    Все работает, спс за помощь.
     
Яндекс.Метрика