Làm thế nào để hiển thị thông tin hồ sơ người dùng?


12

Tôi muốn tạo một trang hồ sơ tùy chỉnh sẽ chỉ hiển thị chi tiết của người dùng đã đăng nhập vào trang web của tôi. Tôi cần hiển thị

  • tên tài khoản
  • Tên
  • email đã đăng ký

Có phải cũng có thể tạo các trường tùy chỉnh nhưng không phải ở dạng đăng ký, chỉ khi họ đăng nhập, họ mới có thể chỉnh sửa trang hồ sơ của họ.

Câu trả lời:


24

Joomla: Truy cập thông tin người dùng - Đối tượng người dùng

Để lấy thông tin người dùng cho người dùng hiện tại:

$user = JFactory::getUser();

Nó sẽ trả về Đối tượng người dùng .
Tại đây, một số Thuộc tính của Đối tượng Người dùng phổ biến nhất :

  • Tôi ($user->id)
  • Tên ($user->name)
  • tên người dùng ( $user->username)
  • nhóm ( $user->groups)
  • email ( $user->email).

Bạn có thể kiểm tra xem người dùng đã đăng nhập bằng:

$user->guest; 

Bạn có thể kiểm tra các đặc quyền truy cập của người dùng bằng phương thức ủy quyền , ví dụ:

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


Thông tin người dùng

Đối với các trường tùy chỉnh bổ sung, điều này phụ thuộc vào những gì bạn đang cố gắng đạt được. Có một plugin lõi "Joomla Hồ sơ người dùng" chứa nhiều trường hồ sơ tùy chỉnh và bạn có thể tùy chỉnh thêm.


Cập nhật: Truy cập dữ liệu hồ sơ người dùng

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

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

Mặt khác, có các tiện ích mở rộng của bên thứ 3 khác như Community Builder, JomSocial, Easy Social cho phép bạn xây dựng một trang cộng đồng người dùng, nơi bạn có thể có người dùng với thông tin hồ sơ mở rộng. Nếu bạn không cần xây dựng một cộng đồng, có những tiện ích mở rộng khác ghi đè / mở rộng thành phần lõi com_user hoặc chúng hoạt động cùng với nó và cung cấp cho bạn quyền kiểm soát thêm đối với việc quản lý người dùng.

Nhưng như đã nói, nó phụ thuộc vào những gì bạn muốn làm. Ví dụ: nếu bạn chỉ có kế hoạch xây dựng một diễn đàn, các phần mở rộng diễn đàn có thêm các trường hồ sơ.

Tất nhiên luôn có những giải pháp tiên tiến hơn như xây dựng thành phần hoặc ứng dụng của riêng bạn.


Liên kết


2
Cũng có hướng dẫn ở đây docs.j Joomla.org/Creating_a_profile_plugin về việc tùy chỉnh plugin hồ sơ cho các lĩnh vực khác
George Wilson

Chỉ cần nhớ cập nhật các truy vấn cơ sở dữ liệu vì liên kết được cung cấp ở trên sử dụng các tiêu chuẩn mã hóa cũ: docs.j Joomla.org/Selecting_data_USE_JDatabase
Lodder

Bạn có biết làm thế nào để lấy thông tin hồ sơ?
cha

có, kiểm tra câu trả lời được cập nhật
FFrewin

7

@Lodder là chính xác. Nếu bạn chỉ muốn một số trường cơ bản, thì bạn có thể sử dụng plugin Joomla User Profile, đi kèm với chính Joomla.

Nếu bạn muốn tạo một số trường tùy chỉnh, thì có nhiều tùy chọn khác nhau như, Community Builder, JomSocial, EasySocial và giải pháp kết nối mạng xã hội khác. Nhưng nếu không muốn giải pháp cộng đồng đầy đủ thì bạn có thể tìm kiếm tiện ích mở rộng được xây dựng chỉ cho hồ sơ người dùng. Hồ sơ Joom có thể là một lựa chọn cho bạn.


Phiên bản miễn phí hoặc trả tiền của Easy hồ sơ là một lựa chọn tốt: extensions.joomla.org/extensions/extension/...
Neil Robertson

5

Bạn thực sự nên làm một số nghiên cứu trước khi đặt một câu hỏi như thế này. 2 giây trên Google và bạn sẽ có tất cả thông tin bạn cần.

Có một plugin trong Hồ sơ người dùng đi kèm với Joomla. Trong phần phụ trợ Joomla, đi đến

Tiện ích mở rộng (menu trên cùng) >> Trình quản lý plugin >> Hồ sơ người dùng .

Bạn sẽ thấy các trường tùy chỉnh sau:

  • địa chỉ 1
  • Địa chỉ 2
  • Khu vực thành phố
  • Quốc gia
  • Mã bưu chính / mã bưu điện
  • Điện thoại
  • Trang mạng
  • Quyển sách ưa thích
  • Về tôi
  • Ngày sinh

Bạn có thể chọn những gì bạn muốn trên trang đăng ký và hồ sơ. Nếu các trường này không phải là trường bạn đang tìm, thì bạn có thể muốn xem Community Builder . Tiện ích mở rộng này cho phép bạn thêm các trường tùy chỉnh của riêng mình và tích hợp với các tiện ích mở rộng khác.


2
Tôi thấy câu đầu tiên của bạn thật buồn cười vì đây là kết quả đầu tiên trên Google đối với tôi. Mặc dù một chút thông tin dư thừa không làm tổn thương bất cứ ai.
Ben Fleming

1
toàn bộ các câu hỏi như thế này và các câu trả lời được cung cấp, là một nguồn thông tin tốt hơn so với "nội dung được tìm thấy trên google", ví dụ như các bài đăng trên blog.
RozzA

2

Ngoài các câu trả lời ở trên, bạn có thể muốn xem một plugin có tên Nice User Info . Nó có thể hiển thị một số thông tin người dùng khi người dùng đăng nhập. Một phiên bản miễn phí cũng có sẵn, nhưng với chức năng hạn chế.

Để sử dụng nó, chỉ cần thêm {niceuserinfo:usergroup}và hỗ trợ các thông tin sau:

  • Tên người dùng
  • Họ và tên
  • tên tài khoản
  • Địa chỉ email
  • Tên nhóm
  • ID nhóm
  • ngày đăng kí
  • Ngày ghé thăm lần cuối
  • Địa chỉ IP của khách truy cập
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.