dilden / yii2-feedback-widget
这个Yii2扩展旨在通过作为ivoviz/feedback插件的包装器,在Yii2 Web应用中启用用户实时反馈。
dev-master
2016-01-17 23:43 UTC
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-12 00:19:15 UTC
README
这个Yii2扩展旨在通过作为ivoviz/feedback JavaScript插件的包装器,在Yii2 Web应用中启用用户实时反馈。
安装
安装此扩展的首选方法是通过composer。
安装
运行以下命令之一:
$ php composer.phar require dilden/yii2-feedback-widget "dev-master"
或添加
"dilden/yii2-feedback-widget": "dev-master"
到您的composer.json
文件的require
部分。
替代安装
添加
{
"type": "git",
"url": "https://github.com/Dilden/Yii2-Feedback-Widget"
}
到您的composer.json
文件的仓库部分。
然后添加
"dilden/yii2-feedback-widget": "dev-master"
到您的composer.json
文件的require部分。
使用方法
扩展安装完成后,只需在代码中使用它即可
<?= \dilden\feedbackwidget\DildenFeedback::widget(['ajaxURL' => 'pinneapple/feedback', 'highlightElement' => 0,]); ?>
可在原始项目Ivoviz/Feedback中找到可配置的选项。
控制器
设置控制器以处理AJAX响应很简单。只需在声明小部件时设置ajaxURL参数(此小部件需要此参数才能工作)。在控制器中创建一个接受请求的操作。如果您想发送电子邮件,它可能看起来像这样。
namespace app\controllers; use yii\web\Response; class PinneappleController extends Controller { public function actionFeedback() { // ajax validation if (Yii::$app->request->isAjax) { $data = json_decode($_POST['feedback']); $htmlMail = '<h3>User Information </h3> Browser Version: ' . $data->browser->appVersion . '<p>User Agent: ' . $data->browser->userAgent.'</p>' . '<p>Platform: ' . $data->browser->platform.'</p><hr>' . '<p>URL: ' . $data->url .'</p>' . '<p>Note: ' . $data->note .'</p>'; // Send email with image attached as HTML file Yii::$app->mailer->compose() ->setFrom('EMAIL_ADDRESS_HERE@gmail.com') ->setTo('SEND_TO_ADDRESS_HERE@gmail.com') ->setSubject('SUBJECT_GOES_HERE') ->setHtmlBody($htmlMail) ->attachContent('<!DOCTYPE html><html><body><img src="' . $data->img .'" /></body></html>', ['fileName' => 'screengrab.html', 'contentType' => 'text/html']) ->send(); Yii::$app->response->format = Response::FORMAT_JSON; return $data; } return false; } }