允许后端用户编辑变量的最佳方式是什么?
例如,我有一个发送各种电子邮件通知的TYPO3,我希望后端用户能够全局更改收件人。我从模板常量开始,直到我发现,后台用户不能编辑“模板”模块。
那么,实现这一目标的最佳方式是什么呢?我使用的是Typo3 8.7.7
发布于 2017-10-13 15:16:20
我会创建一个配置记录,可以由后端用户编辑。
发布于 2017-10-13 15:27:26
一种方法是将fileadmin/中的一个文件包含到typoscript的常量定义中。此文件编辑器可能会更改。但这可能是一个安全风险,因为编辑器可以定义任何常量。
下一个选项是为页面记录定义额外的字段,其中这些值可以由任何编辑器设置。在typoscript中,您可以访问该字段(可能使用slide = -1,因此只需设置一次值)
另一种选择:将这些字段添加到(special?)CE (ContentElement)。
最后一种选择:在特殊页面或栏目中使用std CEs (例如field content ),并使用content字段(bodytext)。(HTML-content的优点是bodytext字段是原封不动地存储的。)
最干净和最精简的选项是选项二(表‘pages’的附加字段)。选项三和四可以使用纯typoscript,但您需要使用内容或记录对象。如果您使用修复uid:请记住,您的编辑器可能会删除CE并添加具有相同内容(但另一个uid)的新CE
添加:
正如@Thomas-Löffler在他的回答中所说的:
您还可以添加一种新的记录/表,编辑器可以在其中插入或更改全局值。处理方式类似于pages或tt_content。如果您的记录是全局的(pid = 0,或特殊存储页面)或依赖于页面树(rootpath),则可以有所不同,因此您可以为不同的页子树指定不同的值。
发布于 2017-10-13 17:52:48
我喜欢托马斯的回答,他提供了一个专用的位置来存储配置选项,而不是将其放到pages中,因为您的配置选项没有绑定到页面上下文。
尽管如此,对我个人来说,为它创建一个专用的表格感觉有点奇怪。一个永远不会包含多条记录的表。
这使我得出结论,使用键值存储将是正确的。幸运的是,System Registry附带了TYPO3。唯一的缺点是它没有界面,所以你必须想出你自己的表单来填充它。如果使用Thomas的solution…,这就容易多了
https://stackoverflow.com/questions/46724144
复制相似问题