oveleon / contao-member-extension-bundle
Contao 成员功能扩展。
Requires
- php: ^8.1
- contao/core-bundle: ^4.13 || ^5.3
Requires (Dev)
- contao/manager-plugin: ^2.3.1
Conflicts
- contao/core: *
README
Contao 成员扩展包
添加成员列表和详情页,并扩展上传和删除头像的功能
支持 Contao 4.13 和 Contao ^5.3 (PHP ^8.1)
成员扩展包允许使用前端模块在列表中显示成员及其详情。成员选项扩展了可以在成员编辑模块和注册模块中更改和上传的头像。此外,您还可以在阅读器页面上显示成员及其详情。
功能
- 兼容 Contao 4.13 (PHP ^8.0)
- 扩展成员头像
- 分页成员列表
- 成员详情页
- 成员头像插入标签
- 可排序的数据表(由 @netzarbeiter 赞助)
- 需要 jQuery 以工作(https://datatables.net.cn/)
安装
通过 composer
composer require oveleon/contao-member-extension-bundle
通过 contao-manager
Search for contao member extension bundle and add it to your extensions.
安装 contao-member-extension-bundle 后,您需要运行一个 contao install。
初始设置
此扩展包扩展了 contao,使您能够扩展成员并添加头像,以及在列表中显示成员的详情页。
-
进入成员并设置默认头像
-
要显示您的成员,您需要设置成员列表
- 创建前端模块 memberlist
- 选择要显示的成员组和成员字段
- 可选地,您可以为成员阅读器设置重定向页面
- 将模块嵌入页面
-
显示头像
- 创建前端模块 头像 / 个人照片
- 可选地,您可以设置图像大小
- 将模块嵌入页面
-
删除头像的模块
- 创建前端模块 删除头像
- 将模块嵌入页面
- 只有当前端用户登录时,该模块才会出现
- 您可以在注册中检查“个人照片选项”以允许成员在注册时上传个人照片
-
成员阅读器页面
- 创建前端模块 memberreader
- 选择允许的成员组和成员字段
插入标签
可以使用以下 插入标签 显示成员头像
有关 插入标签 的更多信息,请访问官方 Contao 文档。
示例
{{avatar::member::current}}
{{avatar::member::current::200x200xproportional}}
{{avatar::member::4}}
{{avatar::member::4::300x300xcrop}}
// Output file url
{{avatar_url::member::current}}
{{avatar_url::member:4}}
允许的图像大小参数为:“宽度 x 高度 x 模式”
大小模式(见:大小数组)
- 裁剪
- 框
- 比例 (仅限 Contao 4.13)
头像插入标签的标准模式是 裁剪
头像插入标签
前端模块
成员列表
显示已激活成员的列表。
成员阅读器
显示成员的详细信息页。
头像 / 个人照片
显示成员的头像。如果没有上传头像,则显示默认头像(或包中的回退头像)。
删除头像
一个可以嵌入页面的模块,添加了删除成员头像的可能性。
高级
成员扩展提供了可以与程序知识一起使用的附加选项。
筛选
如果满足以下条件,则允许在前端过滤成员列表
- 在成员列表模块中设置“激活过滤器”为true
- 在
tl_member
中存在输入类型为checkbox
且评估为feFilterable
设置为true的字段
钩子
getMembers
允许修改数据库查询的列和选项。
// src/EventListener/onGetMembersListener.php namespace App\EventListener; use Contao\CoreBundle\DependencyInjection\Attribute\AsHook; use Oveleon\ContaoMemberExtensionBundle\Controller\FrontendModule\MemberListController; #[AsHook('getMembers')] class onGetMembersListener { public function __invoke(array &$columns, array &$options, MemberListController &$context): void { // Do something... } }
parseMemberReader
允许修改成员详情页面
// src/EventListener/onParseMemberReaderListener.php namespace App\EventListener; use Contao\CoreBundle\DependencyInjection\Attribute\AsHook; use Contao\MemberModel; use Contao\Model; use Contao\ModuleModel; use Contao\Template; use Oveleon\ContaoMemberExtensionBundle\Controller\FrontendModule\MemberReaderController; #[AsHook('parseMemberReader')] class onParseMemberReaderListener { public function __invoke(MemberModel|Model &$member, Template &$template, ModuleModel &$model, MemberReaderController &$context): void { // Do something... } }
parseMemberTemplate
允许修改成员详情
// src/EventListener/onParseMemberTemplateListener.php namespace App\EventListener; use Contao\CoreBundle\DependencyInjection\Attribute\AsHook; use Contao\FrontendTemplate; use Contao\MemberModel; use Contao\Model; use Contao\ModuleModel; use Oveleon\ContaoMemberExtensionBundle\Controller\FrontendModule\MemberExtensionController; #[AsHook('parseMemberTemplate')] class onParseMemberTemplateListener { public function __invoke(MemberModel|Model &$member, array &$fields, FrontendTemplate &$template, ModuleModel &$model, MemberExtensionController &$context): void { // Do something... } }
支持
我们**只提供**关于**错误和功能请求**的支持;请只发布这两类话题的问题。
如果您需要帮助实现Contao成员扩展包,或者您刚开始使用Contao/CSS或HTML,请访问我们的网站,访问Contao社区或Contao Slack,您将能够在那里找到更多帮助。
这将帮助我们更快地解决与该插件相关的问题。
赞助
如果您认为此插件很有用,请考虑赞助我们,以帮助我们贡献我们的时间和进一步开发此和其他开源项目。
您的贡献,无论是通过编码
、测试
、提供反馈
,甚至捐赠,都有助于确保我们能够继续提供免费开源软件。加入我们,共同创造差异,感谢您的支持! - Oveleon。