contaobayern / contao-member-contact-settings
Contao开源内容管理系统会员联系方式设置扩展
1.1.0
2018-01-21 12:33 UTC
Requires
- php: >=5.6
- contao-community-alliance/composer-plugin: ~2.4 || ~3.0
- contao/core-bundle: ~3.5 || ~4.4
README
Contao开源内容管理系统会员联系方式设置扩展
概述
本模块通过添加控制注册前端用户允许的联系方式设置的字段,增强了核心模块Registration
和MemberData
。
通过Composer安装
搜索包contaobayern/contao-member-contact-settings
,并按常规安装。对于Contao 4.4.x版本,请使用Contao Manager安装扩展。
手动安装
- 从GitHub仓库下载文件。将文件夹重命名为
member-contact-settings
,并保存到system/modules
下。 - 更新您的数据库并清除内部缓存。
请注意
本模块的JavaScript不支持表格布局(即在模块定义中未勾选“无表格布局”)。这仅适用于Contao 3,因为Contao 4仅包含无表格布局的模板。因此,如果您想使用此扩展与表格布局一起使用,必须在注册和个人数据前端模块中取消选中“使用JavaScript控制字段依赖性”选项。
设置
前端模块(注册和会员数据)的设置相同
- 创建一个类型为“注册”或“会员数据”的新前端模块。
- 按常规定义表单。
- 使用新字段,您可以添加依赖项。例如,如果您添加“contactPhone”,则当用户勾选“contactPhone”时,“phone”字段将变为必填项。以下列出所有依赖项。
- 按您的意愿排序字段。将依赖字段直接放置在依赖它们的字段下方是有意义的。
- 默认情况下,字段依赖性通过客户端JavaScript(页面布局中必须启用jQuery)进行控制。如果您不想使用JavaScript设置必填状态,可以取消选中相应的选项。
- 使用“切换依赖字段可见性”选项,您可以选择在它们不是必填项时隐藏依赖字段(仅当启用JavaScript时可用)。
在tl_member中的新字段和依赖项
添加自己的依赖项
依赖项在tl_member
DCA中定义。对于具有依赖项的每个字段,其eval
数组中都有一个新条目dependents
。
$GLOBALS['TL_DCA']['tl_member']['fields']['contactLetter'] = [ // ... 'eval' => [ // ... 'dependents' => [ 'mandatory' => ['street', 'postal', 'city', 'country'], 'visibility' => ['street', 'postal', 'city', 'country'], ], // ... ] ]
数组mandatory
包含在父字段被勾选时应设置为必填的字段名称。数组visibility
包含根据父字段应显示或隐藏的字段名称。
您可以在system\config\dcaconfig.php
文件中添加或修改依赖项。
例如,如果您想将state
添加到contactLetter
的依赖项中,可以将以下代码添加到system\config\dcaconfig.php
:
$GLOBALS['TL_DCA']['tl_member']['fields']['contactLetter']['eval']['dependents']['mandatory'][] = 'state'; $GLOBALS['TL_DCA']['tl_member']['fields']['contactLetter']['eval']['dependents']['visibility'][] = 'state';
您还可以在需要的地方创建自己的字段的新依赖项。
$GLOBALS['TL_DCA']['tl_member']['fields']['myCheckbox']['eval']['dependents'] = [ 'mandatory' => ['fieldA', 'fieldB', 'fieldC'], 'visibility' => ['fieldA', 'fieldB', 'fieldC'], ];
注意:默认为必填的字段不应放入任何依赖项列表中。否则,其必填状态将由父字段控制,这是不希望发生的,因为该字段始终应该是必填的。