vulcandigital / silverstripe-pagefeedback
此模块允许您在任意页面类型中添加表单,用于收集用户对页面的反馈。
2.0.3
2020-02-13 09:05 UTC
Requires
- silverstripe/recipe-cms: ^1 || ^4
Requires (Dev)
- phpunit/phpunit: ^5.7
- squizlabs/php_codesniffer: 3.*
Suggests
- silverstripe/spamprotection: To enable spam protection features to your feedback forms
This package is auto-updated.
Last update: 2024-09-13 19:31:52 UTC
README
silverstripe-pagefeedback
此模块允许您在任意页面类型中添加表单,用于收集用户对页面的反馈。
通常在帮助台页面下的标签类似于“您觉得这个页面有多有帮助?”的位置找到。
它允许用户对页面进行1到5的评分,并可选择提供评论。
用户的IP地址和PHP会话ID会按页面记录,以便用户只能为特定页面提交一次反馈。
需求
- silverstripe/cms: "^4.0"
安装
仅通过composer支持安装
composer require vulcandigital/silverstripe-pagefeedback "^2"
配置
此模块主要是DataExtension
和Extension
的结合。您必须将其应用于您希望显示反馈表单的页面类型及其相应的控制器。
如果您想在整个页面上启用其功能,您将
Page: extensions: - Vulcan\PageFeedback\Extensions\PageFeedbackExtensions PageController: extensions: - Vulcan\PageFeedback\Extensions\PageFeedbackControllerExtensions
或者针对特定页面类型
Vulcan\UserDocs\UserDocsPage: extensions: - Vulcan\PageFeedback\Extensions\PageFeedbackExtension Vulcan\UserDocs\UserDocsPageController: extensions: - Vulcan\PageFeedback\Extensions\PageFeedbackControllerExtensions
模式
默认情况下,模式设置为"form",这将生成一个表单,允许用户在1到5之间评分,并可选择性提供评论。还有一个可选模式"thumbs",它将生成包含+1
和-1
两个按钮的表单,这些按钮可以非常漂亮地样式化。
您可以通过YML更改页面的控制器来更改模式
Vulcan\UserDocs\UserDocsPageController:
pagefeedback_mode: "thumbs"
添加表单
为了显示表单,您需要将$PageFeedbackForm
添加到您的模板中,在您希望其显示的位置。
例如。
<div id='myfeedbackform'> $PageFeedbackForm </div>
如果您希望在用户已提供反馈时隐藏表单
<% if not $GivenFeedback %> <div id='myfeedbackform'> $PageFeedbackForm </div> <% end_if %>
如果您想显示用户提供的反馈信息
<% if $GivenFeedback %> <% with $GivenFeedback %> <div id='myprovidedfeedback'> <% if not $Rating %> Rating: $Rating<br/> Comment: $Comment <% else %> You gave this page a thumbs <strong>$Thumbs</strong> <% end_if %> </div> <% end_with %> <% end_if %>
功能
- 将“页面评分”部分添加到CMS页面编辑器
- 添加包含所有反馈的“页面反馈”标签页,其中包含
GridField
灵感
表单是未样式化的提供的,但表单上的每个五个单选按钮都有类名pagefeedback-option-n
,其中n
是1到5的数字,便于自定义(例如,用不同表情的笑脸替换单选按钮;从悲伤到快乐)
(灵感来自Shopify文档)