teufels / form-element-linked-text
添加一个新的表单元素,允许编辑器创建带有链接标签的文本。这是TYPO3 CMS的一个扩展。
Requires
- php: ^7.4 || ^8.0
- symfony/polyfill-php80: ^1.15
- typo3/cms-core: ^12.4
- typo3/cms-form: ^12.4
- typo3/cms-frontend: ^12.4
Requires (Dev)
- armin/editorconfig-cli: ^1.5
- ergebnis/composer-normalize: ^2.23
- helmich/typo3-typoscript-lint: ^3.1
- phpstan/phpstan: ^1.3
- saschaegerer/phpstan-typo3: ^1.0
- typo3/coding-standards: ^0.7.1
This package is auto-updated.
Last update: 2024-09-23 17:07:15 UTC
README
[ ṯeufels ] 自定义表单元素 "链接文本"
此TYPO3扩展将自定义表单元素 "链接文本" 添加到TYPO3表单框架中。用户可以定义链接目标和链接文本。
基于以下扩展 https://extensions.typo3.org/extension/form_element_linked_text
此版本支持TYPO3
Composer支持
composer req teufels/form-element-linked-text
如何使用(快速指南)
- 使用composer安装
- (可选)在站点包之前导入静态模板
- 将自动导入 - 如果出现问题,请在此处禁用EXT设置中的此选项,并手动导入
定制
扩展覆盖以下视图的模板
- 收件人的电子邮件,纯文本
- 收件人的电子邮件,HTML
- 发件人的电子邮件,纯文本
- 发件人的电子邮件,HTML
- 摘要页面
这是正确渲染链接所必需的。默认情况下,表单框架的核心模板在电子邮件和纯文本邮件中都会转义任何HTML。因此,您的用户会收到带有断链的邮件。
如果您也覆盖了这些模板,请相应地修改您的文件。
使用方法
打开TYPO3表单编辑器并创建一个新的表单/打开现有的表单。向您的表单添加一个新元素。模态窗口将列出新的自定义表单元素 "链接文本"。为静态文本包括链接文本提供一个标签。选择您想要链接到的页面。
标签和链接的组合
默认标签由标签本身组成,后面跟着一个指向指定页面的链接,带有指定的链接文本。
示例
- 标签:
我接受
- 链接文本:
条款和条件。
- 输出:
我接受 条款和条件。
如果想在标签内使用链接,请使用字符替换定义标签中的链接位置。我们强烈建议这样做。
示例
- 标签:
我已经阅读了 %s 并接受它们。
- 链接文本:
条款和条件
- 输出:
我已经阅读了 条款和条件 并接受它们。
您还可以在文本标签中使用多个链接。为此,只需使用 additionalLinks
字段并提供页面UID和链接文本的组合。
示例
链接配置
您可以提供额外的链接配置,这些配置将在在标签中生成链接时使用。请注意,这只能在适当的 .form.yaml
文件中定义,而不能在表单编辑器中定义,并适用于所有生成的链接。
type: LinkedText
identifier: consent
label: 'I accept the %s and %s.'
properties:
pageUid: '67'
linkText: 'terms and conditions'
additionalLinks:
83: 'privacy policy'
renderingOptions:
linkConfiguration:
# Additional typolink configuration can be inserted here, e.g.:
no_cache: 1
有关可用配置的完整列表,请参阅TypoScript参考。
覆盖默认链接目标
默认情况下,链接目标设置为 _blank
。如果您想覆盖它,只需定义一个自定义链接配置 parameter
- 或者是一个空字符串或自定义目标/附加参数配置。
renderingOptions:
linkConfiguration:
parameter: ''
可能的改进或更改
而不是创建一个新的表单元素,现有的 Text
表单元素可以扩展。为了提供一个更复杂的示例,扩展创建了一个新的元素。
在撰写本文时,您必须提供一个小的JavaScript代码片段(见 \Resources\Public\JavaScript\Backend\FormEditor\ViewModel.js
)。此代码片段用于在表单编辑器中显示自定义表单元素。对于未来的TYPO3版本,我们正在努力消除这一障碍,以简化元素注册。
版本
新闻 | TYPO3 | PHP | 注意 |
---|---|---|---|
主要 | 12 | 7.4 - 8.2 | |
2.x | 12 | 7.4 - 8.2 | "teufels/form-element-linked-text" |
1.x | 11 | 7.4 - 8.2 | "beewilly/form-element-linked-text" |
重大变更
- [!!!][变更] 供应商从 HIVE 更改为 T3teufels
- [!!!][变更] composer名称从
"beewilly/form-element-linked-text"
更改为"teufels/form-element-linked-text"
从 beewilly/form-element-linked-text 更新和迁移
- 在 composer.json中将
beewilly/form-element-linked-text
替换为"teufels/form-element-linked-text":"^2.0"
- Composer更新
- 如果字段设置中的BE标签缺失,则在站点包中的 BasicFormSetup.yaml 行 [13] 添加
2687159009: 'EXT:form_element_linked_text/Resources/Private/Language/Database.xlf'
致谢
TYPO3扩展 "form_element_linked_text" 是由 Björn Jacob 创建的,这个扩展基于此扩展。