in2code/powermail

Powermail 是一个广为人知的、编辑友好的、功能强大且易于使用的 TYPO3 邮件表单扩展,拥有众多功能

安装次数: 1,798,132

依赖关系: 33

建议者: 3

安全: 3

星标: 86

关注者: 17

分支: 174

开放问题: 147

类型:typo3-cms-extension

12.4.1 2024-09-17 06:41 UTC

This package is auto-updated.

Last update: 2024-09-19 06:23:43 UTC


README

Powermail 是一个广为人知、编辑友好、功能强大且易于使用的 TYPO3 邮件表单扩展,拥有许多功能(如反垃圾邮件、营销信息、optin、Ajax 提交、图表分析等...)

⚠️ TYPO3 13 兼容性
请参阅 EAP 页面(德语)EAP 页面(英语) 了解如何获取 TYPO3 13 版本的访问权限

⚠️ 弃用、V13 预计的重大更改和功能

双 OptIn 和 TypoScript 设置 "不保存到数据库"

这种组合在 V13 中将不再工作。如果负责数据安全的人员决定不将任何内容保存到数据库中,即使是在双 OptIn 过程中,也无法将任何数据保存到数据库中。

如果您需要比下一个主要(公开)版本更早的此功能,请联系我们获取扩展 EXT:powermail_cleaner。使用此扩展,可以为每个插件单独设置此功能。

插件 / 内容元素 pi2 - pi4

前端编辑的内容元素将被移至一个独立的付费扩展。

未来:Powermail Powerpack

除了扩展 EXT:powermail_cleanerEXT:powermail_ratelimiter 和前端编辑内容外,还将有另一个付费扩展 EXT:powermail_powerpack。此扩展将包含我们过去几年开发的一些额外功能,并希望将其提供给更广泛的公众,例如

  • 每个插件只使用一个电子邮件地址
  • 每个插件的“座位”数量(类似于非常基本的注册)
  • ...

1. 文档概述

2. 安装

快速指南

  • 只需安装此扩展 - 例如 composer require in2code/powermail
  • 将静态 typoscript 模板添加到您的根模板
  • 添加一个新表单(包含一个或多个页面以及一些字段到页面或文件夹)
  • 添加一个新的页面内容(插件),类型为 "powermail",并选择之前保存的表单
  • 就是这样,您可以在前端查看结果

3. 管理区域

3.1. 版本和支持

您需要免费支持吗?有一个典型的 TYPO3 社区可以为您提供帮助。您可以在 https://stackoverflow.com 上提问,并在问题中添加 TYPO3Powermail 标签。此外,TYPO3 Slack 中有一个 ext-powermail 频道。

3.2. 变更日志

请参阅 powermail 的变更日志

3.3. 推荐的 powermail 扩展

  • email2powermail 自动将电子邮件转换为指向powermail表单的链接 链接
  • powermailrecaptcha Google reCaptcha 链接
  • invisiblerecaptcha Google不可见reCaptcha 链接
  • powermailextended 仅作为如何扩展powermail以添加新字段或使用信号的示例扩展 链接
  • powermail_cond 为powermail表单的字段和页面添加条件(通过AJAX) 链接
  • powermail_fastexport 扩展powermail以实现更快的导出到.xlsx / .csv文件。如果您需要导出大量记录,这非常有用。 链接

3.4. 产品负责人

该扩展的产品负责人和作者是来自in2code的Alex Kellner。除此之外,每个in2code同事都有权在愿意的情况下支持进一步的开发。此外,还有许多其他贡献者通过他们的拉取请求帮助改进了扩展——感谢他们!

3.5. 版本管理

Powermail使用语义版本控制,这基本上意味着对您来说,

  • 错误修复更新(例如,1.0.0 => 1.0.1)仅包括小的错误修复或安全相关内容,没有破坏性更改。
  • 次要更新(例如,1.0.0 => 1.1.0)包括新功能和较小的任务,没有破坏性更改。
  • 主要更新(例如,1.0.0 => 2.0.0)通常包括基本重构、新功能和破坏性更改。

我们试图在变更日志中用前置的!!!标记破坏性更改,并尝试解释升级时要做什么(例如,在模板中VieHelper名称从vh:foo更改为vh:bar)。

此外,powermail使用Git Flow作为Git工作流程。这意味着有一个分支包含新的和未经测试的代码:**develop**。**master**分支只包含经过测试的代码,并且有时也会被打上标签。

基于“尽早发布,经常发布”,我们尝试尽可能频繁地将新版本发布到TER和github/packagist。

3.6. 自动测试

行为测试

在每次发布之前都必须通过一个巨大的测试路径。例如,有一个自动测试,其中浏览器尝试向只接受电话号码的字段提交18个不同的字符串和数字以测试服务器端验证。之后,对于客户端验证也执行相同的流程。还有一些小测试,例如“是否可以在存储两个不同表单的页面上提交表单?”。

有关behat和selenium在powermail上的测试的更多信息,请参阅readme.md

单元测试

目前,powermail提供543(且仍在增长)个单元测试,必须在每次发布之前通过。有关powermail的单元测试或代码覆盖率的更多信息,请参阅readme.md

3.7. 代码质量

除了尊重PSR-2和TYPO3编码规范外,确保项目留下更干净的文件同样非常重要。尤其是考虑到这是一个功能丰富、拥有10年历史的大型扩展(!)以及当然,一些需要逐步解决的问题(例如,将逻辑完全移动到Domain文件夹中)。关于这方面的详细信息,请查看Sonarqube

3.8. 贡献

拉取请求(Pull requests)总是受欢迎的!不过,请别忘了给你的拉取请求添加描述。这将非常有帮助,使我们能理解要解决什么类型的问题。

  • 错误修复:请描述你的修复解决了哪种类型的错误,并给我们反馈如何重现该问题。我们只接受那些我能重现的错误修复。
  • 功能:并非每个功能都对大量powermail用户都相关。此外:我们不希望因为一个边缘案例功能而使powermail在易用性方面变得更加复杂。请在讨论新功能之前进行讨论。

3.9. 开发

编译并压缩(压缩)JavaScript,压缩CSS

$ cd Resources/Private
$ npm install
$ ./node_modules/.bin/gulp

4. 截图

4.1. 带有bootstrap类的示例表单

Example form

4.2. 后台模块邮件列表

Backend Module

4.3. 后台模块报告

Backend Module2