Joomla変数を使用してカスタムHTMLユーザープロファイルページを作成する


9

それは複雑になると思いますが、私が達成したいことを理解してもらうために最善を尽くします。私が欲しいのは、Joomla Webサイトにログインしたユーザーの情報を表示するカスタムHTMLページを作成することだけです。しかし、見栄えを良くしたい、背景画像を用意したい、さまざまな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ページに情報を表示できますが、情報をHTMLページに送信するには、PHPファイルを使用する必要があります。
TryHarder 2014年

回答:


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');

JoomlaサイトのルートがカスタムPHPファイルに相対的な場所に応じて、上記のコードの2行目を変更する必要がある場合があります。

ログインしている現在のユーザーのユーザー名と電子メールを取得するには、次のコードを追加します。

$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 2014年

htmlまたはphpファイルを作成しましたか?パスへのURLを入力して、ファイルをどのように呼び出しますか?私の回答で述べたように、最初のコードスニペットの2行目を変更しましたか?これ機能するので、注意深く与えられた指示に従ってください
Lodder

.PHPファイルを作成しました。パスへのURLを入力するだけです。PHPファイルをWebサイトのルートに配置し、2行目をINDEX.PHPファイルに記述されている内容に置き換えました define('JPATH_BASE', __DIR__);
saibbyweb '18年

これはcmsアプリケーション全体をインスタンス化せずに機能すると思いますか?これはもう少し複雑だと思います...
チャドウィンドナグル2014年

@ChadWindnagle-ああ、私の悪い。追加した1行を忘れました。テストと完全な動作
Lodder、2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.