จะแสดงข้อมูลโปรไฟล์ผู้ใช้ได้อย่างไร?


12

ฉันต้องการสร้างหน้าโปรไฟล์ที่กำหนดเองซึ่งจะแสดงเฉพาะรายละเอียดของผู้ใช้ที่เข้าสู่เว็บไซต์ของฉันเท่านั้น ฉันต้องการที่จะแสดง

  • ชื่อผู้ใช้
  • ชื่อ
  • อีเมลที่ลงทะเบียน

เป็นไปได้หรือไม่ที่จะสร้างฟิลด์ที่กำหนดเองแต่ไม่ได้อยู่ในแบบฟอร์มการลงทะเบียนเฉพาะเมื่อพวกเขาเข้าสู่ระบบพวกเขาควรจะสามารถแก้ไขหน้าโปรไฟล์ของพวกเขาได้

คำตอบ:


24

Joomla: การเข้าถึงข้อมูลผู้ใช้ - วัตถุผู้ใช้

วิธีรับข้อมูลผู้ใช้สำหรับผู้ใช้ปัจจุบัน:

$user = JFactory::getUser();

มันจะกลับวัตถุผู้ใช้
นี่คือคุณสมบัติบางอย่างของUser Object ที่พบมากที่สุด:

  • รหัส ($user->id)
  • ชื่อ ($user->name)
  • ชื่อผู้ใช้ ( $user->username)
  • กลุ่ม ( $user->groups)
  • อีเมล ( $user->email)

คุณสามารถตรวจสอบว่าผู้ใช้เข้าสู่ระบบด้วย:

$user->guest; 

คุณสามารถตรวจสอบสิทธิ์การเข้าถึงของผู้ใช้ด้วยวิธีการอนุญาตเช่น:

$user->authorise('core.admin', 'com_component')


โปรไฟล์ผู้ใช้

สำหรับฟิลด์ที่กำหนดเองพิเศษนี้ขึ้นอยู่กับสิ่งที่คุณพยายามที่จะบรรลุ มีปลั๊กอินหลัก Joomla "โปรไฟล์ผู้ใช้" ซึ่งมีฟิลด์โปรไฟล์ที่กำหนดเองจำนวนมากและที่คุณสามารถปรับแต่งเพิ่มเติม


อัปเดต: การเข้าถึงข้อมูลโปรไฟล์ผู้ใช้

jimport( 'joomla.user.helper' ); 
$user = JFactory::getUser();
$userId = $user->id; 
$userProfile = JUserHelper::getProfile( $userId );

echo "Main Address :" . $userProfile->profile['address1'];

ในทางกลับกันมีส่วนขยายของบุคคลที่สามอื่น ๆ เช่น Community Builder, JomSocial, Easy Social ที่ให้คุณสร้างเว็บไซต์ชุมชนผู้ใช้ซึ่งคุณสามารถมีผู้ใช้ที่มีข้อมูลโปรไฟล์เพิ่มเติม หากคุณไม่ต้องการสร้างชุมชนมีส่วนขยายอื่น ๆ ที่แทนที่ / ขยายองค์ประกอบหลัก com_user หรือทำงานร่วมกับมันและให้การควบคุมผู้ใช้เป็นพิเศษ

แต่ตามที่กล่าวไว้มันขึ้นอยู่กับสิ่งที่คุณต้องการจะทำ ตัวอย่างเช่นถ้าคุณวางแผนที่จะสร้างฟอรัมส่วนขยายฟอรัมจะมีฟิลด์โปรไฟล์เพิ่มเติม

แน่นอนว่ายังมีโซลูชันขั้นสูงเพิ่มเติมเช่นการสร้างส่วนประกอบหรือแอปพลิเคชันของคุณเอง


การเชื่อมโยง


2
นอกจากนี้ยังมีคำแนะนำที่นี่docs.joomla.org/Creating_a_profile_pluginเกี่ยวกับการปรับแต่งปลั๊กอินโปรไฟล์สำหรับฟิลด์อื่นเช่นกัน
George Wilson

เพียงอย่าลืมอัปเดตการสืบค้นฐานข้อมูลเนื่องจากลิงก์ที่ให้ไว้ข้างต้นใช้มาตรฐานการเข้ารหัสแบบเก่า: docs.joomla.org/Selecting_data_using_JDatabase
Lodder

คุณรู้วิธีการดึงข้อมูลโปรไฟล์หรือไม่?
cha

ใช่ตรวจสอบคำตอบที่ปรับปรุงแล้ว
FFrewin

7

@Lodder ถูกต้อง หากคุณต้องการเพียงแค่ฟิลด์พื้นฐานบางอย่างคุณสามารถใช้ปลั๊กอินโปรไฟล์ผู้ใช้ Joomla ซึ่งมาพร้อมกับ Joomla เอง

หากคุณต้องการสร้างฟิลด์ที่กำหนดเองบางส่วนมีตัวเลือกมากมายเช่น Community Builder, JomSocial, EasySocial และโซลูชันเครือข่าย socila อื่น ๆ แต่ถ้าไม่ต้องการโซลูชันชุมชนแบบเต็มคุณสามารถค้นหาส่วนขยายที่สร้างขึ้นสำหรับการทำโปรไฟล์ผู้ใช้เท่านั้น โปรไฟล์ Joomสามารถเป็นตัวเลือกสำหรับคุณ


Easy Profile รุ่นฟรีหรือที่จ่ายเงินเป็นอีกตัวเลือกที่ดี: Extensions.joomla.org/extensions/extension/…
Neil Robertson

5

คุณควรทำวิจัยจริงๆก่อนถามคำถามเช่นนี้ 2 วินาทีบน Google และคุณจะมีข้อมูลทั้งหมดที่คุณต้องการ

มีปลั๊กอินของโพรไฟล์ผู้ใช้ที่มาพร้อมกับ Joomla ในแบ็กเอนด์ Joomla ให้ไปที่

ส่วนขยาย (เมนูด้านบน) >> ผู้จัดการปลั๊กอิน >> โปรไฟล์ผู้ใช้

คุณจะเห็นฟิลด์ที่กำหนดเองดังต่อไปนี้:

  • ที่อยู่ 1
  • ที่อยู่ 2
  • เขตเมือง
  • ประเทศ
  • รหัสไปรษณีย์
  • โทรศัพท์
  • เว็บไซต์
  • หนังสือเล่มโปรด
  • เกี่ยวกับฉัน
  • วันเกิด

คุณสามารถเลือกสิ่งที่คุณต้องการในหน้าการลงทะเบียนและหน้าโปรไฟล์ ถ้าข้อมูลเหล่านี้ไม่ได้เป็นคนที่คุณกำลังมองหาแล้วคุณอาจต้องการที่จะดูที่สร้างชุมชน ส่วนขยายนี้ช่วยให้คุณสามารถเพิ่มฟิลด์ที่กำหนดเองของคุณและรวมกับส่วนขยายอื่น ๆ


3
ฉันคิดว่าประโยคแรกของคุณน่าขันเพราะนี่เป็นผลลัพธ์แรกบน Google สำหรับฉัน แม้ว่าข้อมูลที่ซ้ำซ้อนเล็กน้อยจะไม่ทำร้ายใคร
Ben Fleming

2
จุดรวมของคำถามเช่นนี้และคำตอบที่ให้ไว้เป็นแหล่งข้อมูลที่ดีกว่า "สิ่งที่พบใน google" เช่นโพสต์บล็อก
RozzA

2

นอกจากนี้ในการตอบข้างต้นคุณอาจต้องการที่จะดูที่ปลั๊กอินที่เรียกว่าดีรายละเอียดผู้ใช้ สามารถแสดงข้อมูลผู้ใช้บางอย่างเมื่อผู้ใช้ลงชื่อเข้าใช้ยังมีรุ่นฟรีให้ใช้งาน แต่มีฟังก์ชั่น จำกัด

หากต้องการใช้งานเพียงเพิ่ม{niceuserinfo:usergroup}และสนับสนุนข้อมูลต่อไปนี้:

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