定制 heimrichhannot/contao-multi-step-registration 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

heimrichhannot/contao-multi-step-registration

Composer 安装命令:

composer require heimrichhannot/contao-multi-step-registration

包简介

Multi-step member registration content element for Contao.

README 文档

README

Reusable Contao 5.7 extension that provides a configurable multi-step frontend registration content element for tl_member.

Backend View

Requirements

  • PHP 8.4
  • Contao 5.7
  • codefog/tags-bundle 3.4 or newer for the sortable backend field selector

Installation

Install the bundle with Composer or contao manager:

composer require heimrichhannot/contao-multi-step-registration

Update the database afterward.

Configuration

Create a content element of type huh_multi_step_registration and configure the registration steps in the msrSteps row wizard.

Each step contains a key, a backend label and the member fields for that step. The member field selector uses Codefog's cfgTags widget with sorting enabled, so editors can drag selected fields into the exact frontend order. New tags are disabled; the available values are generated from tl_member fields with eval.feEditable, matching Contao's registration field eligibility.

Twig Template

You can customize the frontend output creating a variant template of content_element/multi_step_registration

An optional Symfony UX Turbo variant is available as content_element/multi_step_registration/ux-turbo. Use it only in host projects that install and load symfony/ux-turbo. It wraps the content element in a Turbo frame, submits intermediate steps asynchronously and keeps final registration redirects as full-page navigations.

Runtime Behavior

The frontend form is implemented as a Symfony form flow:

  • MemberRegistrationFlowType builds one flow step per configured row.
  • MemberRegistrationStepType maps the selected tl_member fields into Symfony form fields.
  • NavigatorFlowType renders previous, next and finish controls.
  • Flow state is stored in the session with a content-element-specific key.
  • The root form uses Contao CSRF options, so the hidden token field is REQUEST_TOKEN and validation uses contao.csrf.token_manager.
  • Successful step submissions use POST/Redirect/GET with HTTP 303 responses. Invalid submissions render the current form with HTTP 422 so Turbo can replace the frame with validation errors.

Member fields are derived from DCA configuration. The mapper handles labels, help texts, mandatory fields, length constraints, selected rgxp rules, unique checks, multiple values, DCA options and compatible save callbacks.

On final submission the bundle creates the member and mirrors core registration behavior where applicable:

  • password hashing,
  • duplicate cleanup for expired registrations,
  • activation token and activation mail handling,
  • admin notification,
  • home directory assignment,
  • createNewUser and activateAccount hooks,
  • version creation,
  • configured redirects or inline success messages.

Notes

This extension was largely built with AI, but reviewed and tested by a human. :)

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-07-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固