Административная настройка javascript не работает: боковая панель управления (боковая панель справа не передает содержимое)

Моя боковая панель: (в frontend / views / layouts / content.php)

 <aside class="control-sidebar control-sidebar-light control-sidebar-open hidden-xs" style="position:fixed">

...

</aside><div class="control-sidebar-bg  hidden-xs"></div>

Инструкции о том, как толкать контент вместо того, чтобы скользить по нему:

$("#my-toggle-button").controlSidebar(options);

( https://github.com/almasaeed2010/AdminLTE/issues/739)

Моя попытка следовать инструкциям: (в frontend / views / layouts / main.php)...

<script>
            // Enable or disable bootstrap tooltips globally, based on touch vs non-touch device
            if( "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch )
            {
                // Touch-screen. Disable tooltips!
                var AdminLTEOptions = {
                    enableBSToppltip: false,
                    [b]controlSidebarOptions[/b]: {slide:false}                    
                };
            }
            else
            {
                // Non-touch-screen. Enable tooltips!
                var AdminLTEOptions = {
                    enableBSToppltip: true,
                    controlSidebarOptions: {slide:false}
                };
            }
        </script>
<?php
    dmstr\web\AdminLteAsset::register($this);

... (по сути, я изменяю AdminLTEOptions перед загрузкой ресурса) на основании: https://adminlte.io/themes/AdminLTE/documentation/index.html

Проблема: не работает, контент не выталкивается, а скрывается за боковой панелью.

Если я жестко закодирую класс 'control-sidebar-open' в элементе body, корректировка боковой панели сдвигает содержимое влево, но как только вы прячете и показываете боковую панель, класс волшебным образом не добавляет себя обратно к элементу body и тогда содержимое скрыто особенно за правой боковой панелью (control-sidebar)

Я мог бы взломать его, используя javascript для добавления класса обратно в элемент body каждый раз, когда вы снова показываете боковую панель, но я бы предпочел использовать фактические настройки плагинов, которые делают это автоматически.:-)

Спасибо за любую помощь.

пс. Вероятно, не обязательно, но вот часть моего кода кнопки, которая заставляет боковую панель показывать / скрывать:

 id='collapsable-button' data-toggle="control-sidebar"

Я использовал: https://github.com/dmstr/yii2-adminlte-asset и он прекрасно работает в yii2-app-advanced

1 ответ

Не знаю, поздно ли это или нет.

Но так как документ AdminLTE устарел. Наконец, я должен копаться в исходном коде, чтобы понять, как все это делается.

В своем app.js сказал:

/* ControlSidebar()
 * ===============
 * Toggles the state of the control sidebar
 *
 * @Usage: $('#control-sidebar-trigger').controlSidebar(options)
 *         or add [data-toggle="control-sidebar"] to the trigger
 *         Pass any option as data-option="value"
 */

Таким образом, вы можете попробовать это, это работает для меня:

<a data-toggle="control-sidebar" data-slide="false">
Другие вопросы по тегам