0

我如何将Growl Widget Kartik Yii2AdminLTE 模板集成。当我使用小部件时,不显示控制器定义的动画和位置。

CompraController.php

...   if ($flag) {
                        $transaction->commit();
                        Yii::$app->getSession()->setFlash('success', [
                             'type' => 'success',
                             'duration' => 5000,
                             'icon' => 'glyphicon glyphicon-ok',
                             'message' => ' Compra Registrada ;)',
                             'title' => 'Registro Compra',
                             'positonY' => 'top',
                             'positonX' => 'right'
                         ]);
                        return $this->redirect(['index']);
                    }

主文件

...  <?php foreach (Yii::$app->session->getAllFlashes() as $message):; ?>
        <?php
        echo Growl::widget([
            'type' => (!empty($message['type'])) ? $message['type'] : 'danger',
            'title' => (!empty($message['title'])) ? Html::encode($message['title']) : 'Title Not Set!',
            'icon' => (!empty($message['icon'])) ? $message['icon'] : 'fa fa-info',
            'body' => (!empty($message['message'])) ? Html::encode($message['message']) : 'Message Not Set!',
            'showSeparator' => true,
            'delay' => 1, //This delay is how long before the message shows
            'pluginOptions' => [
                'delay' => (!empty($message['duration'])) ? $message['duration'] : 3000, //This delay is how long the message shows for
                'placement' => [
                    'from' => (!empty($message['positonY'])) ? $message['positonY'] : 'top',
                    'align' => (!empty($message['positonX'])) ? $message['positonX'] : 'right',
                ]
            ],
            'useAnimation'=>true
        ]);
        ?>
    <?php endforeach; ?>

当我使用 Yii2 的普通模板时工作正常:

在此处输入图像描述

但是当我使用 AdminLTE 模板时,每个选项都被视为不同的通知:

在此处输入图像描述

4

1 回答 1

0

显然 AdminLTE 模板它有自己的通知方法来阻止 Growl Widget 的执行。我删除行: <?= Alert::widget() ?>在:

<section class="content"> <?= Alert::widget() ?> <?= $content ?> </section>

从文件views/layout/content.php 并且工作正常。

于 2016-10-01T22:59:03.387 回答