Skip to content

Page Definitions ​

Each auth page (login, register, forgot_password, etc.) is defined under auth_pages.pages.[key].

Page Keys ​

KeyRoute / ControllerDescription
loginLoginSign in form
registerRegisterRegistration form
pre_registerPre-registerEmail verification before register
complete_registerCompleteRegisterFinish registration after email verification
forgot_passwordForgotPasswordRequest password reset email
reset_passwordResetPasswordSet new password with token
oauth_passwordOAuthLink OAuth provider to account

Page Configuration Keys ​

KeyTypeDescription
pageTitlestringPage title (translation key or literal)
layoutPresetstringbanner, minimal, minimal_no_divider
formDraftstringForm draft name (e.g. login_form)
actionRoutestringRoute name for form submission
formTitleobject/stringForm title structure
buttonTextstringSubmit button text (translation key)
formSlotsPresetstringPreset for form slots (options, restart, etc.)
slotsPresetstringPreset for bottom slots (OAuth, links)
formOverridesarrayOverride form attributes
attributesarrayPer-page attributes for auth component

Form Slots Presets ​

PresetDescription
login_optionsForgot password link
have_account"Already have account?" link
restartRestart registration button
resendResend verification button
oauth_submitOAuth submit button
forgot_password_formSign in + Reset password buttons

Slots Presets (Bottom) ​

PresetDescription
login_bottomOAuth Google + Create account
register_bottomOAuth Google
forgot_password_bottomOAuth Google + Create account

Example: Full Page Definition ​

php
'login' => [
    'pageTitle' => 'authentication.login',
    'layoutPreset' => 'banner',
    'formDraft' => 'login_form',
    'actionRoute' => 'admin.login',
    'formTitle' => 'authentication.login-title',
    'buttonText' => 'authentication.sign-in',
    'formSlotsPreset' => 'login_options',
    'slotsPreset' => 'login_bottom',
    'attributes' => [
        'bannerDescription' => __('authentication.login-banner'),
    ],
],

Overriding in App Config ​

Override any page in modularous/auth_pages.php:

php
return [
    'pages' => [
        'login' => [
            'layoutPreset' => 'minimal',
            'attributes' => [
                'bannerDescription' => 'Custom login banner',
            ],
        ],
    ],
];

Merging is shallow for pages; your keys replace package defaults for that page.