我有一个joomla网站,但我想整合自定义登录页面。如何将值从自定义登录表单传递到joomla登录模块?
提前致谢。
答案 0 :(得分:1)
任何Joomla的标准输出!可以通过将代码添加到模板的html
目录来覆盖模块或组件。
请参阅文档:How to override the output from the Joomla! Core Extensions
在你的情况下:如果你想覆盖登录页面的输出,这实际上是Joomla的输出!核心com_users组件的登录视图的默认(default.php)布局。
要覆盖它,只需按照以下步骤操作:
第1步:在登录视图目录中找到布局:
<joomla_application_root>/components/com_users/views/login/tmpl/default.php
第2步:将其复制到模板的html
目录中:
<joomla_application_root>/templates/<your_template>/html/com_users/login/default.php
第3步:在您喜欢的任何编辑器中打开<joomla_application_root>/templates/<your_template>/html/com_users/login/default.php
。
第4步:你会找到默认的Joomla!登录页面表单元素。现在,您可以根据需要覆盖此布局。
同样,任何组件或模块布局也可以使用相同的方法轻松修改。除了那个Joomla!提供插件方式来添加或扩展其Core Extensions。例如,您可以创建一个用户类型插件,将您需要的字段(如安全问题)添加到默认的Joomla!注册。请参阅:Creating a profile(user) plugin in Joomla!
答案 1 :(得分:0)
为了覆盖登录字段和核心组件的功能,需要修改com_users
。您需要创建一个可以扩展组件的插件。
在/components/com_users/controllers/user.php
中,有一个UsersControllerUser
类,其范围为UsersController
。在该类中是函数login()
,它处理登录表单发送的字段。您的插件需要扩展该类以修改login()
函数。
此链接可能有所帮助: https://docs.joomla.org/Adding_custom_fields_to_core_components_using_a_plugin