【问题标题】:Joomla additional User DataJoomla 附加用户数据
【发布时间】:2012-08-30 14:59:36
【问题描述】:

我正在尝试在 joomla 中创建一些新的扩展。

我想为每个用户添加附加信息。我知道我可以通过创建自己的自定义用户配置文件插件并添加其他字段来实现这一点,但这会将这些字段添加到用户配置文件页面。

我想单独显示新字段。例如,我可能在用户页面上有一个链接,可以将他们带到那里的基本信息,例如姓名、电子邮件等。另一个链接向他们显示“附加”字段。

额外的字段不会是个人信息,这就是我想单独显示它们的原因。

我的问题是,我该如何实现?我可以简单地为每个用户添加额外的字段还是必须编写一个全新的组件?

更新:我不能使用现有的扩展,因为我想完全控制代码。此外,附加信息不会由用户添加,只会由管理员添加。

【问题讨论】:

    标签: php html joomla content-management-system


    【解决方案1】:

    您不必使用标准用户配置文件在用户配置文件页面上显示配置文件字段 您可以将其配置为仅向管理员显示。您只需为不同的表格进行不同的设置(整个 cms 有 4 个)。遵循核心插件中的模式。

    【讨论】:

      【解决方案2】:

      最后我决定创建自己的组件会更好。主要是因为当更新出来并且 JED 没有提供我想要的特定扩展时,破解 joomla 将是一个害虫。

      【讨论】:

        【解决方案3】:

        可能有两种主要的方法。

        1. 您可以创建一个扩展,用户填写信息并将数据存储在单独的数据库表中,该表连接到#__users 表。
        2. 您可以从 JED 下载扩展配置文件的扩展。有非商业和商业扩展,所以看看这里,看看是否有任何可能适合您的需求。

        我个人会安装一个预制的扩展程序,它将节省大量工作/试错。

        看看这个:http://extensions.joomla.org/extensions/clients-a-communities/user-management

        【讨论】:

        • 感谢您的回答 - 应该提到我不想使用 JED 并且用户将无法添加此信息。请参阅上面的更新
        【解决方案4】:

        如果您添加或更改了任何编码,例如向用户表添加字段或在 joomla 中自定义注册页面,一旦您升级您的 Joomla 版本,它将恢复为默认值。 这样做的方法是:

        • 您必须创建另一个包含其他额外信息的表,并且应该使用来自 #__users 的用户 ID。
        • 提交表单时,您可以使用此 Joomla 代码获取另一个表。

        $module_table = JTable::getInstance('modules', 'profileTable');

        • Modules -> 表示您创建的表名。

        • ProfileTable -> 意思是“组件​​名”是模型名,“表”是通用的。

        然后你必须像这样将帖子值传递给这个表..

        if (!$module_table->bind($post))
            {
                return 0;
            }
            if (!$module_table->check())
            {
                return 0;
            }
            if (!$module_table->store())
            {
                return 0;
            }
        

        这样,您可以为用户存储额外的数据。出于显示目的,您需要使用 userid 连接两个表并显示它...

        一切顺利..

        【讨论】:

        • 感谢您的回答。这看起来是一个很有前途的解决方案。唯一的问题是我发现它有点难以理解。你可以通读一遍并检查它是否有意义? - 可能只是我动作慢,在这种情况下我很抱歉。另外,为什么我们在 if 语句中返回 0。你介意快速解释一下发生了什么吗?
        • Return 0 --> 这是post数据成功存储到表时返回的值。如果发生任何问题,它不会返回该值,因此我们可以确定在发布数据时可能发生了一些错误。
        猜你喜欢
        • 1970-01-01
        • 2014-08-20
        • 2018-11-17
        • 2013-09-07
        • 2014-03-09
        • 1970-01-01
        • 2021-08-25
        • 2012-10-09
        • 1970-01-01
        相关资源
        最近更新 更多