Joomla वेरिएबल्स का उपयोग करके कस्टम HTML उपयोगकर्ता प्रोफाइल पेज बनाना


9

मुझे लगता है कि यह जटिल होने जा रहा है लेकिन मैं आपको समझने की पूरी कोशिश करूंगा कि मैं क्या हासिल करना चाहता हूं। सभी मैं चाहता हूं, एक कस्टम HTML पेज बनाना है , जो उस उपयोगकर्ता की जानकारी दिखाएगा जिसने मेरी जूमला वेबसाइट में लॉग इन किया है। लेकिन मैं चाहता हूं कि यह अच्छी दिखे, मैं एक पृष्ठभूमि छवि रखना चाहता हूं, मैं विभिन्न जूमला चर के लिए सीएसएस और विभिन्न फोंट शामिल करना चाहता हूं। मैं क्या करना चाहता हूँ का उदाहरण:

<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 पृष्ठ को जूमला डेटाबेस से कनेक्ट करने और उससे डेटा पुनर्प्राप्त करने और इसे इस तरह से प्रदर्शित करने के लिए है।


1
यदि आप ajax का उपयोग करते हैं, तो आप HTML पृष्ठ पर जानकारी प्रदर्शित कर सकते हैं, लेकिन आपको अभी भी HTML पृष्ठ पर जानकारी भेजने के लिए PHP फ़ाइल का उपयोग करना होगा।
ट्रीहार्डर

जवाबों:


9

शुरुआत के लिए ठीक है, आप उपयोगकर्ता की जानकारी प्रदर्शित करने के लिए एक .html साइट का उपयोग नहीं कर सकते हैं, इसके बजाय आपको एक .php फ़ाइल की आवश्यकता होगी ।

एक बार बनाने के बाद, आपको जूमला सीएमएस को आयात करना होगा:

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 पर पथ में फ़ाइल टाइप कैसे कर रहे हैं? क्या आपने पहले कोड स्निपेट की दूसरी पंक्ति को बदल दिया था जैसा कि मैंने अपने उत्तर में बताया है? कृपया सुनिश्चित करें कि आप दिए गए निर्देशों का सावधानीपूर्वक पालन करें क्योंकि यह काम करता है
लॉडर

मैंने एक .PHP फ़ाइल बनाई है और मैं केवल पथ पर URL टाइप कर रहा हूं। मैंने अपनी वेबसाइट के मूल में php फ़ाइल रखी है और मैंने अपनी INDEX.PHP फ़ाइल में जो लिखा है उसकी दूसरी पंक्ति को बदल दिया है define('JPATH_BASE', __DIR__);
saibbyweb

लॉडर आपको लगता है कि यह पूरे सेमी एप्लीकेशन को इंस्टेंट किए बिना काम करेगा? मुझे लगता है कि यह थोड़ा अधिक जटिल है ...
चाड विंडनागले

@ChadWindnagle - आह मेरी बुर। 1 लाइन भूल गया जो मैंने अब जोड़ा है। टेस्ट और पूरी तरह से काम कर रहा है
लॉडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.