Создаём своё модальное окно

Тема в разделе "Стили для XenForo", создана пользователем $iD, 29 апр 2015.

  1. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    Для того, что бы реализовать модальное окно (например, как "обратная связь") с собственным произвольным содержимым, необходимо, что бы содержимое это было частью форума. Т.е. должно иметь внутреннюю ссылку.
    Принцип такой же, как при создании собственных произвольных страниц.

    И так, приступим.
    Включаем режим отладки. (файл library/config.php)
    PHP:
    $config['debug'] = true;
    Создаем новое дополнение (admin.php?add-ons/add)
    Разумеется ID и заголовок можно указать свои.

    В папке library создадим папку MyAddons.
    В папке MyAddons создадим папку ModalWindow.
    В папке ModalWindow создадим папки Route и ControllerPublic.
    В папке ControllerPublic создадим файл index.php со следующим содержимым:
    PHP:
    <?phpclass MyAddons_ModalWindow_ControllerPublic_index extends XenForo_ControllerPublic_Abstract{
     public function 
    actionIndex()
     {
     return 
    $this->responseView('MyAddons_ModalWindow_ViewPublic_Index''my_modal_template');
     }
    }
    (my-link - имя нашей будущей ссылки на произвольное содержимое)

    С файлами разобрались. Теперь возвращаемся в админку и создаем префикс роутинга (admin.php?route-prefixes/add)
    Создадим шаблон с нашим содержимым. (admin.php?templates/add&style_id=0)
    Содержимое (необходимое вам, разумеется):
    HTML:
    <xen:title>Заголовок окна</xen:title>
    
    <div class="formOverlay">
    
    <p>Произвольный контент</p>
    
    </div>
    Теперь осталось создать ссылку на это содержимое в желаемом месте.
    Ссылка должна быть завернута в класс OverlayTrigger
    HTML:
    <a href="my-link" class="OverlayTrigger ">Моя ссылка на модальное окно</a>
    [​IMG]
     
    Lobzik и jorik нравится это.