使用 joomla 用户数据自动填充独立表单
Posted
技术标签:
【中文标题】使用 joomla 用户数据自动填充独立表单【英文标题】:autofill independant form with joomla user data 【发布时间】:2015-09-30 14:06:30 【问题描述】:我正在使用 Joomla 和一个独立于 Joomla 的表单,该表单位于网站上的一个单独文件夹中。
如果用户登录到 Joomla,我希望此表单的名称和电子邮件填充用户的数据。
我正在尝试类似以下的方法,但它不起作用:
<?php jimport('joomla.user.helper');
$user = JFactory::getUser();
$name = $user->name;
$email = $user->email;
?>
然后这个字段的值:
<?php return $email ?>
任何帮助将不胜感激!
【问题讨论】:
如果我理解你,你正试图从独立脚本中获取用户数据。此代码在某些模块或组件中可以正常工作,但作为独立代码,您无权访问此数据。你应该包括framework.php。谷歌了解更多信息。 在 Joomla 中使用普通的 Joomla 表单会容易得多,例如通过使用表单扩展之一。你不能在没有应用程序的情况下只调用 Joomla 类。您可以尝试使用会话 cookie 共享会话。 【参考方案1】:复制位于您的Joomla网站根目录下的“index.php”文件的内容,但删除最后一行:
$app->execute();
现在将上面的内容粘贴到显示表单的 php 文件中。
现在您的下一步是了解哪个用户登录了 Joomla 网站,但这并不简单,因为您不在 Joomla 环境中。您可以做的是通过链接将 Joomla 会话 ID 传递给另一个网站,然后将(Joomla 网站的)会话 ID 存储在另一个网站的会话变量中。然后,您可以根据存储的会话 ID 检索 Joomla 网站的用户 ID。
不是很容易,但它会起作用。
【讨论】:
好吧,我会通过使用会话 cookie 并查询会话表来共享会话。以上是关于使用 joomla 用户数据自动填充独立表单的主要内容,如果未能解决你的问题,请参考以下文章