正确渲染以创建新页面

时间:2017-11-01 11:57:09

标签: php yii2

在我的网站中,用户评分和反馈文本区域位于网站的消息页面中,我想将它们与消息页面分开并为它们创建新页面。您可以在下面看到有关评级和消息控制器文件反馈的代码。

// send feedback
public function actionSendFeed() {

    $this->layout = $this->view_dir.'/Rate-Supplier'; 

    $first_message = $this->getFirstChain(Yii::$app->request->post('chain', false));

    $mail_data = $this->getMessageReceiver($first_message);

    // save feedback if not empty

    $feed_data = Yii::$app->request->post('Feedback', false);
    if($feed_data['rate'] >= 1){
        $feed_model = new Feedback();
        $feed_model->customer_id = $mail_data['send_to'];
        $feed_model->author_id = Yii::$app->user->identity->id;
        $feed_model->subject = $first_message->subject;
        $feed_model->seen = 0;
        $feed_model->created_at = time();

        if(!$feed_model->load(Yii::$app->request->post()) || !$feed_model->save()){
             Yii::$app->session->setFlash('error', Yii::t('alerts', 'err_send_feedback'));
        }else{
            Yii::$app->session->setFlash('success', Yii::t('alerts', 'feedback_sent'));

            // send email to customer about new feedback
            \common\components\helpers\MailHelper::send(
                    'new_feedback',
                    [SH::get('support_email') => Yii::$app->name],
                    $mail_data['email_to'],
                    ['{supplier_name}', '{buyer_name}', '{text}'], 
                    [$mail_data['name_to'], Yii::$app->user->identity->name, $feed_model->text]
            );            
        }
    }
    return $this->redirect(Yii::$app->request->referrer);
}

我试图渲染,但没有成功。请与我分享您的意见,我如何才能正确呈现,以便我可以创建一个新的单独页面来评估和反馈。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

要从控制器渲染视图文件中的页面,您必须使用以下代码:

return $this->render('index', [ 'arr' => Yii::$app->request->referrer ]);

// index = 'Your View File Name'