Могу ли я показать модальное окно из head_tag

Привет @david, есть ли возможность открыть модальное окно из скрипта в head_tag.html? Спасибо

Технически это возможно с помощью множества взломов, но это не рекомендуется.

Вместо этого вы можете расширить функционал через API плагинов и затем вызвать модальное окно из этого кода. Можете ли вы подробнее объяснить, что именно вы пытаетесь сделать? Уже нашли решение этой проблемы?

Привет, Сэм, у меня похожий вопрос.

На нашем сайте мы использовали только тег head_tag для его кастомизации. Ранее мы применяли Magnific с jQuery и iframe для заполнения модального окна интерактивными элементами списка с другого домена, но пришли к выводу, что Discourse наконец официально отказался от Magnific/jQuery, так как при клике на те же ссылки ничего не происходит (ничего нет даже в консоли).

Поэтому я ищу следующий лучший вариант. Можете ли вы подтвердить, что использование DModal — наиболее подходящий вариант для моих нужд? Любая помощь будет очень кстати!

Вот код, который мы использовали для привязки триггеров всплывающих окон Magnific.

   if (window.jQuery) {
        const $document = $(document)
        $document.on('click', '.otpc-magnific-trigger', function() {
            var $button = $(this)
            if ($button.hasClass('initialized')) {
                $button.magnificPopup('open')
            } else {
                $button.magnificPopup({
            		type: 'inline',
            		preloader: false
            	})
                $button.magnificPopup('open')
                $button.addClass('initialized')
            }
            return false
        })

Привет, Брэндон,

В целом мы рекомендуем избегать использования тега «head» для любых сложных кастомизаций. Вместо этого вам стоит настроиться на работу с темой, основанной на Git.

После этого да, DModal — это, вероятно, то, что вам нужно. У нас есть соответствующая документация по ссылке:

Привет, Дэвид, спасибо за ответ.

У нас есть кастомная тема на базе Git, где мы в основном изменяем JavaScript в файле head_tag.html; извините, если это было неясно. Мы использовали теги script для любых шаблонов Handlebars, но вижу, что для определённых шаблонов коннекторов рекомендуется использовать отдельные файлы.

Можете ли вы подтвердить, что Magnific больше не совместим с Discourse? Я пытаюсь определить причину сбоя функциональности всплывающих окон.

Мне неизвестно о каких-либо изменениях в magnificPopup, однако мы планируем вскоре удалить его, поэтому рекомендую перейти к документированному API DModal.

Одно из недавних изменений касается способа загрузки JQuery. Теперь он становится доступен немного позже в процессе запуска. Следовательно, window.JQuery может быть недоступен до полной загрузки Discourse.

Вы можете заставить ваш скрипт выполняться после запуска, заменив тег <script> на «инициализатор плагина» Discourse:

<script type="text/discourse-plugin" version="0.8">