Tworzenie niestandardowej strony profilu użytkownika HTML przy użyciu zmiennych Joomla


9

Myślę, że będzie to skomplikowane, ale postaram się jak najlepiej zrozumieć, co chcę osiągnąć. Chcę tylko stworzyć niestandardową stronę HTML , która będzie wyświetlać informacje o użytkowniku, który zalogował się na mojej stronie Joomla. Ale chcę, żeby wyglądał dobrze, chcę mieć obraz tła, chcę dołączyć CSS i różne czcionki dla różnych zmiennych Joomla. Przykład tego, co chcę osiągnąć:

<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>

O tym właśnie mówiłem, przypisując <h1>znacznik do nazwy użytkownika lub przypisując <h2>do e-maila itp.

Czy istnieje możliwość połączenia strony HTML z bazą danych Joomla i pobierania z niej danych i wyświetlania ich w ten sposób.


1
Jeśli chcesz użyć ajax, możesz wyświetlić informacje na stronie HTML, ale nadal musisz użyć pliku PHP, aby wysłać informacje na stronę HTML.
— TryHarder

Odpowiedzi:


9

Ok, na początek, nie możesz użyć strony .html do wyświetlenia informacji o użytkowniku, zamiast tego potrzebujesz pliku .php .

Po utworzeniu musisz zaimportować CMS Joomla w następujący sposób:

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

Być może będziesz musiał zmienić wiersz 2 powyższego kodu, w zależności od tego, gdzie katalog główny witryny Joomla jest względny względem niestandardowego pliku PHP.

Teraz, aby uzyskać nazwę użytkownika i adres e-mail bieżącego zalogowanego użytkownika, wystarczy dodać następujący kod poniżej:

$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>";

Cały plik będzie wyglądał następująco:

<?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>";    
?>

najpierw dała mi pustą stronę, a teraz przeniosłem ją do folderu szablonów, dając mi prosty WYJŚCIE HTML? To po prostu pokazuje, Name of the user who has logged inzamiast faktycznego użytkownika, który się zalogował?
— saibbyweb

Czy utworzyłeś plik HTML lub PHP? Jak wywołujesz plik, wpisując adres URL ścieżki? Czy zmieniłeś drugi wiersz pierwszego fragmentu kodu, jak wspomniałem w mojej odpowiedzi? upewnij się, postępuj zgodnie z instrukcjami podanymi dokładnie jak to robi praca
— Lodder

utworzyłem plik .PHP i po prostu wpisuję adres URL ścieżki. umieściłem plik php w katalogu głównym mojej witryny i zastąpiłem drugi wiersz tym, co jest zapisane w moim pliku define('JPATH_BASE', __DIR__);
— INDEX.PHP

Czy uważasz, że to zadziała bez uruchamiania całej aplikacji cms? Myślę, że to trochę bardziej skomplikowane ...
— Chad Windnagle

@ChadWindnagle - ahh my bad. zapomniałem 1 linii, którą teraz dodałem. Test i pełne działanie
— Lodder
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.