在安装框架后,通常有必要在网站上创建用户注册。在开始页面开发之前,您需要为不同类别的用户指定页面的可见性。
HLOGIN 库扩展了 HLEB2 框架的功能,通过添加全面的用户注册,该功能具有简单的配置和快速的设置,并且功能便捷且多样化。它支持多语言和多种设计选项。您可以选择加上注册和认证后的反馈表单。在自动生成的管理面板中,包含用户管理和显示设置的工具。在集成注册后,您可以立即将精力集中在为网站创建内容上。
提供了几种基本设计类型。您可以通过点击这里查看注册弹出窗口的功能演示和外观。
步骤 1:通过 Composer 在基于 HLEB2 的项目中安装:
$composer require phphleb/hlogin
步骤 2:在项目中安装库。您将被提示从多个选项中选择一种设计类型:
$php console phphleb/hlogin add
$composer dump-autoload
步骤 3:在执行此操作之前,必须具有有效的数据库连接。在项目设置中 '/config/database.php',您需要添加一个连接或确保它存在,并验证其名称在参数'base.db.type'中。
$php console hlogin/create-login-table
之后,使用控制台命令创建具有管理员权限的用户(系统会提示您提供E-mail和密码):
$php console hlogin/create-admin
如果无法执行控制台命令,请使用文件/vendor/phphleb/hlogin/planB.sql中的相应SQL查询来创建表。然后注册一个管理员并将他的'regtype'设置为11。
步骤 4:现在您可以继续访问网站的主占位页面,如果它是未更改的默认框架页面,检查授权面板是否可用。如果库不是从一开始就在基于HLEB2的项目中安装的,并且删除了占位符,请在网站的'/en/login/action/enter/'页面上检查登录情况(使用上一步的管理员数据)。
步骤 5:通过路由在特定页面上安装注册。为此,请在路由文件中设置以下条件(项目文件夹/routes/):
根据这些条件(组)分配网站的路由即可,对其应用用户授权规则。
请注意,不在任何具有条件的这些组中的页面处于注册规则之外,此库未连接到它们。
步骤 6:配置。授权后,管理员资料(/en/login/profile/)中显示进入管理面板的按钮。在这里您可以配置注册面板和其他参数。
如果需要根据用户注册类型输出数据:
您还可以将类 Phphleb\Hlogin\Container\Auth 添加到 容器 中,并从中获取这些数据。
默认情况下,面板所用的语言是从 url 参数(域名后的部分)或 '<html lang="en">' 标签中的 lang 属性中提取的。要强制设置页面上的面板设计和/或语言:
可以通过在管理面板中预先禁用默认的按钮来更换标准授权按钮。自定义按钮可以被分配以下操作之一(对于 JavaScript):
或者,使用属性:
可以理解,注册对浏览器中禁用JavaScript的用户不可用。现在几乎没有这样的用户了。
如果需要立即将用户引导到登录或注册页面,则会自动创建若干必要的页面:
注册页面
/ru/login/action/registration/
登录页面
/ru/login/action/enter/
个人资料页面
/ru/login/profile/
联系页面
/ru/login/action/contact/
管理面板设置页面
/ru/adminzone/registration/settings/
在验证从注册表单提交的后端值时,可以使用您自己的PHP脚本对其进行额外处理(如果可用)。这样,例如,您可以在表单中添加自定义字段,并自行进行检查。查询被分为单独的类,可以在文件夹/vendor/phphleb/hlogin/Optional/Inserted/中找到。它们只能在复制到文件夹/app/Bootstrap/Auth/Handlers/后使用。
选择管理面板中的"blank"类型可以使用自定义设计。之后,您可以从现有设计中复制并修改CSS文件,自己将其连接到网站。还可以根据设计类型进行修改。
默认情况下,注册和认证使用多种可切换语言。不过,所有名词,可以根据需要进行自定义。重要的是要检查长词是否适合面板界面。
对于 后端 本地化,从 /vendor/phphleb/hlogin/App/BackendTranslation/ 中复制必要的语言文件到文件夹 /app/Bootstrap/Auth/Resources/php/ 并在后者中进行更改。
对于 前端 本地化,从 /vendor/phphleb/library/hlogin/web/js/ 中复制必要的语言文件(以 'hloginlang' 开头)到文件夹 /app/Bootstrap/Auth/Resources/js/ 并进行更改。
您可以通过为 后端 和 前端 本地化创建相应名称的文件并在 /config/main.php 文件的 'allowed.languages' 设置中添加语言来添加额外的语言(此文件可能会在模块中重复出现)。
在管理面板中创建自己的附加页面时,请如下所示围绕它们的路由添加访问限制:
在管理部分中创建页面的描述在本文档的相应部分<
此处标准的 查看相关分节。使用 github.com/phphleb/muller 库进行通知和恢复访问的邮件发送。在管理面板中,一定要指定发送人的 E-mail,该邮箱必须被允许从服务器发送邮件。对于大多数托管,仅需要创建这样的邮箱即可。可用发送电子邮件在 php.ini (sendmail_path = ... -f'email@example.com') 中找的到。
默认情况下,邮件还会被记录到文件夹 '/storage/logs/' 中,文件名以 'mail.log' 作为后缀。可以在管理面板设置中禁用此记录。
默认用于发送电子邮件的库功能有限,随着项目的发展,应将其替换为合适的邮件服务器或其他等效服务。
在路径/app/Bootstrap/Auth/MailServer.php上创建类App\Bootstrap\Auth\MailServer,它实现接口Phphleb\Hlogin\App\Mail\MailInterface。文件创建后,电子邮件将使用此类发送,因此您应首先实现您选择的邮件服务器的发送逻辑。
要更新,请执行以下控制台命令:
$composer update phphleb/hlogin
$php console phphleb/hlogin add
$composer dump-autoload
在安装过程中,选择当前默认使用的设计。
在GitHub上的HLOGIN库:github.com/phphleb/hlogin
演示注册页面:auth2.phphleb.ru