Yii2整页加载到模式div

马里乌斯

我试图通过模式的自举装入的ActiveForm而是形成模式的负载整页在画面例子

布局:main.php

...
    yii\bootstrap\Modal::begin([
        'header' => '<span id="modalHeaderTitle"></span>',
        'headerOptions' => ['id' => 'modalHeader'],
        'id' => 'modal',
        'size' => 'modal-lg',
        'closeButton' =>['tag'=>'close', 'label'=> 'Zamknij'],
        'clientOptions' => ['backdrop' => 1, 'keyboard' =>True]
    ]);
    echo "<div id='modalContent'></div>";
    yii\bootstrap\Modal::end();
    ?>
 ...

查看:_form.php

<div class="category-form">
Lorem Ipsum
</div>

用于启动模式的按钮:

<?= Html::button('Nowa kategoria', ['value' => Url::to(['category/create']), 'title' => 'Nowa kategoria', 'class' => 'showModalButton btn btn-success']); ?>

modal.js

$(function(){
      $(document).on('click', '.showModalButton', function(){
        if ($('#modal').data('bs.modal').isShown) {
            $('#modal').find('#modalContent')
                    .load($(this).attr('value'));
            document.getElementById('modalHeaderTitle').innerHTML = '<h4>' + $(this).attr('title') + '</h4>';
        } else {

            $('#modal').modal('show')
                    .find('#modalContent')
                    .load($(this).attr('value'));

            document.getElementById('modalHeaderTitle').innerHTML = '<h4>' + $(this).attr('title') + '</h4>';
        }
    });
});

请帮助找到错误。

Mihai P.

您必须告诉控制器在呈现页面的操作中不要使用完整的页面布局。您应该可以通过设置来做到这一点。

$this->layout = false;

在控制器中,因此它不使用任何布局。或者,您可以设置特定的布局:

$this->layout = 'modalLayout.php';

modalLayout.phplayouts文件夹中创建一个名为文件,文件仅包含所需的东西作为模态的布局。

获得所需内容的模态后,在此处添加一个新问题,并询问为什么您ActiveForm无法正常工作(PS:因为可能无法正确实例化)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章