สร้างหน้าโปรไฟล์ผู้ใช้ HTML ที่กำหนดเองโดยใช้ตัวแปร Joomla


9

ฉันเดาว่ามันจะซับซ้อน แต่ฉันจะพยายามทำให้ดีที่สุดเพื่อทำให้คุณเข้าใจสิ่งที่ฉันต้องการบรรลุ สิ่งที่ฉันต้องการคือการสร้างหน้า HTML ที่กำหนดเองซึ่งจะแสดงข้อมูลของผู้ใช้ที่ได้เข้าสู่เว็บไซต์ Joomla ของฉัน แต่ฉันต้องการให้ดูดีฉันต้องการมีภาพพื้นหลังฉันต้องการรวม CSS และแบบอักษรที่แตกต่างกันสำหรับตัวแปร Joomla ที่แตกต่างกัน ตัวอย่างของสิ่งที่ฉันต้องการบรรลุ:

<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

คำตอบ:


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

ฉันสร้างไฟล์. PHP & ฉันแค่พิมพ์ URL ลงในพา ธ ฉันได้วางไฟล์ php ไว้ที่รูทของเว็บไซต์ของฉัน & ฉันได้แทนที่บรรทัดที่สองด้วยสิ่งที่มันเขียนไว้ในไฟล์ INDEX.PHP ของฉัน define('JPATH_BASE', __DIR__);
saibbyweb

คุณคิดว่าสิ่งนี้จะใช้ได้หรือไม่โดยการสร้างแอปพลิเคชัน cms ทั้งหมดทันที ฉันคิดว่ามันซับซ้อนกว่านี้นิดหน่อย ...
Chad Windnagle

@ChadWindnagle - เอ่อฉันไม่ดี ลืม 1 บรรทัดที่ฉันเพิ่มไว้ตอนนี้ การทดสอบและการทำงานอย่างเต็มที่
Lodder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.