Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla 允许用户在3中使用相同的电子邮件地址注册_Joomla - Fatal编程技术网

Joomla 允许用户在3中使用相同的电子邮件地址注册

Joomla 允许用户在3中使用相同的电子邮件地址注册,joomla,Joomla,我想注册用户,但他们应该能够使用相同的电子邮件地址注册,他们将使用为他们生成的用户名登录,因此电子邮件并不重要。如何以及在何处可以禁用或使用代码以不检查数据库用户表:是否存在重复的电子邮件地址。您可以使用隐藏的电子邮件字段为注册页创建覆盖,并使用随机生成的电子邮件地址填充该字段 创建文件夹/templates/Your_Template/html/com_users/registration 将文件/components/com_users/views/registration/tmpl/def

我想注册用户,但他们应该能够使用相同的电子邮件地址注册,他们将使用为他们生成的用户名登录,因此电子邮件并不重要。如何以及在何处可以禁用或使用代码以不检查数据库用户表:是否存在重复的电子邮件地址。

您可以使用隐藏的电子邮件字段为注册页创建覆盖,并使用随机生成的电子邮件地址填充该字段

创建文件夹/templates/Your_Template/html/com_users/registration

将文件/components/com_users/views/registration/tmpl/default.php复制到其中

将此文件的内容替换为要使用的表单。
表单是动态生成的,因此您可以尝试在浏览器中转到站点的现有注册页面,并复制html源以获取表单的基本结构。然后您可以修改它。

重要的是不要更改Joomla核心代码,否则您所做的更改将丢失,或者在执行更新后页面可能会崩溃。将其作为Joomla插件实现

创建用户时,将在libraries\Joomla\table\user.php中的Joomla用户表代码中执行对现有电子邮件地址的检查

此签入Joomla的代码部分!3.4.3在237-251线之间可以找到稳定的:

下一步是创建一个plugin*并将user.php文件复制到plugin目录中。在这里,您对代码的上述部分进行了注释,因此它不会被执行。此外,您还需要一个附加的php和xml文件xml安装文件以及插件的文件名,您可以选择该名称。 在php文件中,您指的是调整后的user.php文件:

在XML安装文件中,您可以输入描述插件及其包含的文件所需的信息:

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.0" type="plugin" group="system">
    <name><![CDATA[name_of_the_plugin]]></name>
    <author><![CDATA[author]]></author>
    <creationDate>date</creationDate>
    <copyright><![CDATA[copyright]]></copyright>
    <authorEmail><![CDATA[email]]></authorEmail>
    <authorUrl><![CDATA[url]]></authorUrl>
    <version><![CDATA[version]]></version>
    <license><![CDATA[licencse]]></license>
    <description>PLG_SYSTEM_NAME_OF_YOUR_PLUGIN_DESCRIPTION</description>

    <files>
        <filename plugin="name_of_the_plugin">name_of_the_plugin.php</filename>
        <filename>index.html</filename>
        <filename>user.php</filename>
    </files>

    <languages folder="language">
        <language tag="en-GB">en-GB.plg_system_name_of_the_plugin.ini</language>
    </languages>

    <config>
    </config>

</extension>
现在可以安装/激活插件,用户将能够使用相同的电子邮件地址


*关于如何为Joomla创建插件的信息可以在Joomla官方文档中找到:

电子邮件地址用于保证唯一性。你不在乎这个?你为什么要这么做?目的和好处是什么?除了独特性,与用户联系、发送凭证提醒等都不容易……你做了哪些研究?为什么需要这样做,因为用户可能有很多公寓,每次用户想要上传公寓时,他们都必须插入新的电子邮件地址。系统是这样构建的,现在我们需要把它去掉。因此,每次一个用户可以注册一个电子邮件地址,当一个属性注册时,可以向该属性的用户发送一个新的用户名和密码。哦,伙计,我建议修改此工作流,让您的注册用户能够在一个帐户下创建/管理他们想要的任意多个属性。我想这对我和你的用户都有意义。
<?php

    // no direct access
    defined('_JEXEC') or die;

    // Replace core JTableUser with override version
    include_once JPATH_ROOT.'/plugins/system/<name_of_your_plugin>/user.php';
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.0" type="plugin" group="system">
    <name><![CDATA[name_of_the_plugin]]></name>
    <author><![CDATA[author]]></author>
    <creationDate>date</creationDate>
    <copyright><![CDATA[copyright]]></copyright>
    <authorEmail><![CDATA[email]]></authorEmail>
    <authorUrl><![CDATA[url]]></authorUrl>
    <version><![CDATA[version]]></version>
    <license><![CDATA[licencse]]></license>
    <description>PLG_SYSTEM_NAME_OF_YOUR_PLUGIN_DESCRIPTION</description>

    <files>
        <filename plugin="name_of_the_plugin">name_of_the_plugin.php</filename>
        <filename>index.html</filename>
        <filename>user.php</filename>
    </files>

    <languages folder="language">
        <language tag="en-GB">en-GB.plg_system_name_of_the_plugin.ini</language>
    </languages>

    <config>
    </config>

</extension>