标签: yii2-advanced-app

Yii2 如何处理 Swift_TransportException 异常?

尝试使用 swiftmailer 发送邮件时,出现以下错误:

Expected response code 250 but got code "550", with message "550 User test@test.com has exceeded its 24-hour sending limit. Messages to 250 recipients out of 250 allowed have been sent. Relay quota will reset in 1.47 hours.
Run Code Online (Sandbox Code Playgroud)

我已将 swiftmailer 放在 try catch 块中,如下所示:

public function sendMail($emailTemplateName, $subject, $body, $fromEmail, $toEmail)
{
        try
        {
            return Yii::$app->mailer->compose(['html' => $emailTemplateName], ['emailBody' => $body])
                ->setFrom([ $fromEmail => Yii::$app->params['siteTitle'] ])
                ->setTo($toEmail)
                ->setSubject($subject)
                ->send();
        }
        catch(Swift_SwiftException $exception)
        {
            return 'Can sent mail due …
Run Code Online (Sandbox Code Playgroud)

exception-handling swiftmailer yii2 yii2-advanced-app

5
推荐指数
1
解决办法
3229
查看次数

Yii2:是否可以从后端打开前端会话?

我目前正在与 yii2 斗争。以下场景:

我使用 yii2 高级模板,并有一个前端和一个后端,带有单独的用户表和登录名。

现在我正在寻找一种后端用户可以从后端以前端用户身份登录的方法。假设您在后端并查看前端用户,您可以单击“以该用户身份登录”。

这种情况可能吗?

我尝试在后端的配置中配置前端使用:

'user' => [
         'identityClass' => 'backend\models\BackendUser',
         'enableAutoLogin' => false,
 ],
 'frontendUser' => [
        'class' => 'yii\web\User',
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => false,
  ],
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我尝试了这个:

if (Yii::$app->frontendUser->login($user_group->user, 0)) {
    return $this->redirect(Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index', 'client' => $client->login_address]));
}
Run Code Online (Sandbox Code Playgroud)

在谢尔盖回答后编辑:

后端配置

'user' => [
            'identityClass' => 'backend\models\BackendUser',
            'enableAutoLogin' => true,
            'identityCookie' => [
                'name' => '_backendUser', // unique for backend
            ]
        ],
Run Code Online (Sandbox Code Playgroud)

前端配置:

'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
            'loginUrl' => ['message/welcome'], // …
Run Code Online (Sandbox Code Playgroud)

php yii2 yii2-advanced-app

5
推荐指数
1
解决办法
1810
查看次数

Yii2 isGuest在控制台应用程序中给出异常

在我使用Yii::$app->user->isGuest它的控制台应用程序中给出以下异常:

Exception 'yii\base\UnknownPropertyException' with message 'Getting unknown prop
erty: yii\console\Application::user'
Run Code Online (Sandbox Code Playgroud)

我甚至尝试在配置文件中添加组件数组中的用户.但它没有奏效.知道我做错了什么吗?

yii2 yii2-advanced-app

5
推荐指数
1
解决办法
3757
查看次数

如何自定义 Yii2 英文验证消息翻译?

我想在整个应用程序中更改英文验证消息。

所以例如:

显示“需要字段”而不是“需要出生日期”。

我尝试将 I18N 组件配置如下:

'i18n' => [
            'translations' => [
                '*' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@common/messages',
                    'sourceLanguage' => 'en',
                    'fileMap' => [
                        'yii' => 'yii.php',
                    ]
                    // 'on missingTranslation' => ['app\components\TranslationEventHandler', 'handleMissingTranslation']
                ],
            ],
Run Code Online (Sandbox Code Playgroud)

但不工作

php yii yii2 yii2-advanced-app

5
推荐指数
1
解决办法
2091
查看次数

Gridview 函数 yii2 中的访问变量

我正在尝试访问视图文件上的变量,Gridview但它抛出了it should be array but null given我在$totalDays视图文件顶部声明的错误,我正在使用它,Gridview如下所示

[
            'attribute' =>  'class_id',
            'format' => 'raw',
            'label' => "Class Date",
            'value' => function ($model) {
                array_push($totalDays,$model->class->date);
                return $model->class->date;
            },
            'footer'=> '<span>Total Days</span>',
],
Run Code Online (Sandbox Code Playgroud)

但它抛出以下错误

array_push() 期望参数 1 是数组,给定 null

php yii2 yii2-advanced-app yii2-basic-app

5
推荐指数
2
解决办法
2329
查看次数

Yii2 Listview与ajax的分页

我正在研究yii2框架.使用listview wiget时遇到麻烦.当我点击下一页时,我想更新页面但不重新加载.但我不知道怎么办?点击下一页时这是网址:

http://......&page=1&per-page=5
Run Code Online (Sandbox Code Playgroud)

请帮我?

非常感谢.

yii2 yii2-advanced-app

5
推荐指数
1
解决办法
3326
查看次数

Yii2 导航栏在菜单项中添加图像

是否可以在 Yii2 Bootstrap Nav Bar 菜单项中添加图像?在 官方文档中,我没有找到任何选项。

我想显示图像而不是标签文本!

导航条码是。

<?php
    NavBar::begin([
        'brandLabel' => 'My Company',
        'brandUrl' => Yii::$app->homeUrl,
        'options' => [
            'class' => 'navbar-inverse navbar-fixed-top',
        ],
    ]);

   $menuItems = [];

   $menuItems[] = [
            'label' => Yii::t('app','Language'),
            'items' => [
                [
                  'label' => 'English', 
                  'url' => ['site/language','set'=>'en'],
                ],

                '<li class="divider"></li>',

                [
                  'label' => 'Danmark',
                  'url' => ['site/language','set'=>'da'],
                ],

              ],
      ];
Run Code Online (Sandbox Code Playgroud)

yii2 yii2-advanced-app

5
推荐指数
2
解决办法
1万
查看次数

如何从Select2 Widget Yii2向数据库保存多个值

我使用kartik - yii2-widget-select2允许选项在表单创建时选择多个选项.

我想根据select2小部件中选择的选项数量向数据库输入两行或更多行.

表单中的select2小部件如下所示.

<?= $form->field($model, 'Assign_task_to')->widget(Select2::classname(), 
//$data = ArrayHelper::map(Employee::find()->all(),'Employee_ID','employee_name'),
[
'data' => ArrayHelper::map(Employee::find()->all(),'Employee_ID','employee_name'),
'language' => 'en',
'options' => ['placeholder' => 'Select an employee ...', 'multiple' => true],
'pluginOptions' => [
    'allowClear' => true
],
]); ?>
Run Code Online (Sandbox Code Playgroud)

控制器actionCreate在下面.

public function actionCreate()
{

    // set default values
    $empModel = new Tasksemp();
    $model = new Tasks();
    $model->priotiy_level = 'medium';
    $model->start_date = date('Y-m-d'); //to get default date
    if ($model->load(Yii::$app->request->post())) {


        //Check if field input is empty

        $model->file = UploadedFile::getInstance($model, 'upload_documents');


        if($model->file)
        { …
Run Code Online (Sandbox Code Playgroud)

php database yii2 yii2-advanced-app select2

5
推荐指数
1
解决办法
3027
查看次数

调用未定义的函数 Mpdf\mb_regex_encoding()

我想用 yii2 Mpdf 做一些报告,但是当我运行程序时,我收到了一个错误,如 Call to undefined function Mpdf\mb_regex_encoding() 请告诉我如何解决这个程序

这是我的控制器

public function actionRpt($id)
{   
    $content = $this->renderPartial('rpt', [
            'model' => $this->findModel($id),
        ]);

    // setup kartik\mpdf\Pdf component
    $pdf = new Pdf([
        // set to use core fonts only
        'mode' => Pdf::MODE_UTF8, 
        // A4 paper format
        'format' => Pdf::FORMAT_A4, 
        // portrait orientation
        'orientation' => Pdf::ORIENT_PORTRAIT, 
        // stream to browser inline
        'destination' => Pdf::DEST_BROWSER, 
        // your html content input
        'content' => $content,  
        // format content from your own css file if needed …
Run Code Online (Sandbox Code Playgroud)

php mpdf yii2-advanced-app

5
推荐指数
1
解决办法
6543
查看次数

yii2中单个控制器(模块)的漂亮URL

假设我的申请路径是: -

http://www.example.com/index.php?r=dashboard/event/view
Run Code Online (Sandbox Code Playgroud)

我创建了一个新的控制器,我想将URL更改为漂亮的URL.

新控制器的默认URL

http://www.example.com/index.php?r=newcontroller/view?id=23&name=urlpretty
Run Code Online (Sandbox Code Playgroud)

我想将上面的URL设置为漂亮的URL,例如

http://www.example.com/23/sampleprettyurl
Run Code Online (Sandbox Code Playgroud)

但我不想将完整的应用程序URL路径更改为漂亮的URL.我的其他控制器路径/ URL应该正常工作.

提前致谢

yii yii2 yii2-advanced-app yii2-basic-app

5
推荐指数
1
解决办法
210
查看次数