akkaweb / cakephp-feedback
CakePHP 3 反馈插件
Requires
- google/recaptcha: @stable
Requires (Dev)
README
这是一个 CakePHP 3 插件,与 jQuery Sliiide 插件结合使用,可以在网站中轻松实现反馈系统。反馈将收集以下信息: 姓名、电子邮件、反馈、IP、浏览器和引用者
。
您可以在以下网站上看到该插件的实际应用: https://www.kidzwl.com
要求
- CakePHP 3
- PHP 5.4.6+
- jQuery
-
- Sliiide jQuery 插件 - 该插件包含在反馈插件中并由其加载。更多关于此插件的信息,请参阅此处: https://github.com/ahmedrad/sliiide
注意:还需要 Sliiide jQuery 插件,但它包含在反馈插件中并由其加载。更多关于此插件的信息,请参阅此处: https://github.com/ahmedrad/sliiide
包含
- 反馈助手
安装
Composer
从您的应用程序根目录运行以下 Composer 命令
php composer.phar require akkaweb/cakephp-feedback
或者将以下内容添加到您的应用程序根目录中的 composer.json
文件中,在 require
部分中。例如,/var/www/domain.com/composer.json
"require": { "akkaweb/cakephp-feedback": "2.0.*" }
然后从您的应用程序根目录运行以下命令
php composer.phar update
注意:如果找不到 composer.phar
,您需要安装它。请参考 CakePHP 的文档 -> https://book.cakephp.com.cn/3.0/en/installation.html 中的安装 CakePHP 部分
配置
在您的应用程序的 bootstrap.php
文件中加载插件
使用命令行
bin/cake plugin load -r AkkaFeedback
或者
Plugin::load('AkkaFeedback', ['bootstrap' => false, 'routes' => true]);
模式迁移
此反馈插件使用 feedbacks
数据库表来保存反馈。请使用以下命令运行包含的迁移文件
bin/cake migrations migrate -p AkkaFeedback
如果您更愿意直接使用 phpMyAdmin、Workbench 或其他数据库工具来创建此表,您可以使用 AkkaFeedback/config/Schema/feedback.sql
文件中提供的文件
在 src/View/AppView.php
中的 initialize()
钩子方法中加载插件的助手
parent::initialize(); $this->loadHelper('AkkaFeedback.Feedback');
将默认元素添加到布局文件中
将以下内容添加到布局文件底部,在 </body>
标签之前
<?php echo $this->Element('AkkaFeedback.feedback_form'); ?>
注意:您还需要确保以下内容也添加到您的应用程序标签中
<?= $this->fetch('css') ?>
<?= $this->fetch('script') ?>
在表单中添加 reCaptacha
要启用表单中的 reCaptacha,您需要将以下内容添加到应用程序的启动文件中。例如,bootstrap.php
。
Configure::write('Feedbacks.reCaptcha.enable', true); //启用 reCatpcha 登录
Configure::write('Feedbacks.reCaptcha.key', 'xxxxxxxxxxxxxxxxxxxx'); //reCatpcha 密钥
Configure::write('Feedbacks.reCaptcha.secret', 'xxxxxxxxxxxxxxxxxxxx'); //reCatpcha 秘密
到此为止,默认反馈表单将开始在您的网站上显示。
如果您希望使用不同的表单,您可以复制此元素,进行必要的更改,并在应用程序的元素文件夹中创建一个新的元素
管理
此插件包含一组控制器文件,允许管理员使用 admin
前缀查看添加到网站上的反馈。
推荐的方法是通过使用 src/Controller/Admin/FeedbacksController.php
,这要求您的应用程序必须有一个 AdminsController.php
文件,但 src/Controller/FeedbacksController.php
文件也包含了前缀为 admin
的操作。例如,admin_index
。
默认情况下,该插件提供了以下路由,允许以下 URL 可访问
/admin/feedbacks
/admin/feedbacks/index ([/edit/:id] and [/view/:id])
免责声明
尽管我们已经进行了许多测试以确保该插件按预期工作,但我们建议您自行承担风险使用。与其他任何事物一样,您应该在测试环境中首先测试您应用程序的任何添加。请通过问题或拉取请求提供任何修复或改进。