使用Joomla变量制作自定义HTML用户个人资料页


9

我想这会很复杂,但是我会尽力让您理解我想要实现的目标。我想要做的是制作一个自定义HTML页面,该页面将显示已登录我的Joomla网站的用户的信息。但是我希望它看起来好看,我想要一个背景图像,我想要为不同的Joomla变量包含CSS和不同的字体。我想要实现的示例:

<p> Name : </p> <h1> Name of the user who has logged in </h1>

<p> Email : </p> <h2> Email of the user who has logged in </h2>

这就是我所说的,将<h1>标签分配给用户名或分配<h2>电子邮件等。

无论如何,有没有将HTML页面连接到Joomla数据库并从中检索数据并以这种方式显示它。


1
如果要使用ajax,则可以在html页面上显示信息,但是仍然需要使用PHP文件将信息发送到HTML页面。
TryHarder 2014年

Answers:


9

好的,对于初学者来说,您不能使用.html网站来显示用户信息,而是需要一个.php文件。

创建完成后,您将需要导入Joomla CMS,如下所示:

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/' ));  
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
$app = JFactory::getApplication('site');

您可能必须更改上面代码的第2行,具体取决于Joomla网站的根目录相对于自定义PHP文件的位置。

现在,要获取登录用户的用户名和电子邮件,只需在下面添加以下代码:

$user = JFactory::getUser();

echo "<p>Name: " . $user->username . "</p>";
echo "<h1>Name of the user who has logged in </h1>";

echo "<p>Email: " . $user->email . "</p>"; 
echo "<h2>Email of the user who has logged in </h2>";

因此,您的总体文件将如下所示:

<?php
   define( '_JEXEC', 1 );
   define( 'JPATH_BASE', realpath(dirname(__FILE__).'/' ));  
   require_once ( JPATH_BASE .'/includes/defines.php' );
   require_once ( JPATH_BASE .'/includes/framework.php' );

   $user = JFactory::getUser();

   echo "<p>Name: " . $user->username . "</p>";
   echo "<h1>Name of the user who has logged in </h1>";

   echo "<p>Email: " . $user->email . "</p>"; 
   echo "<h2>Email of the user who has logged in </h2>";    
?>

首先,它给了我一个空白页,现在我将其移至模板文件夹,它给了我一个简单的HTML输出?它只是在显示,Name of the user who has logged in而不是实际登录的用户?
saibbyweb

您是否创建了html或php文件?您如何调用文件,在路径中输入URL?您是否更改了我在回答中提到的第一个代码段的第二行?请确保您确实遵循给出的指示,因为这样做确实有效
Lodder 2014年

我创建了一个.PHP文件,而我只是在输入路径的URL。我已将php文件放置在网站的根目录中,并将第二行替换为INDEX.PHP文件中写的内容 define('JPATH_BASE', __DIR__);
saibbyweb 2014年

您认为在不实例化整个cms应用程序的情况下是否可行?我认为这有点复杂...
乍得·温德纳格

@ChadWindnagle-啊,我不好。忘记了我现在添加的1行。测试并全面工作
Lodder 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.