Buat Profil Pengguna Khusus Joomla 2.5

Saya membuat beberapa bidang profil pengguna khusus, saya baru saja membuat plugin edit profil pengguna (menambahkan bidang di profile.xml dll). Sekarang ketika saya membuat pengguna atau mengeditnya, saya memiliki bidang profil klasik (kota, alamat, dll.) dan bidang saya sendiri. Saya membuat halaman profil pengguna yang menampilkan semua bidang, tapi saya ingin mengedit halaman ini. Saya hanya ingin menampilkan bidang saya atau menambahkan beberapa kelas css dll.

Bagaimana cara mengeditnya? Dimana saya bisa menemukannya?

Dengan cara lain saya membuat halaman lain, dengan plugin php saya bisa menambahkan beberapa kode. Bagaimana saya bisa mengakses bidang khusus saya? Saya mencoba dengan http://docs.joomla.org/Accessing_the_current_user_object tetapi saya hanya dapat mengakses bidang default .

Adakah yang tahu cara mengakses variabel-variabel ini?

ps inilah yang saya tulis di artikel saya dengan php:


    $user =& JFactory::getUser();

    $userId = $user->id;

    $db = &JFactory::getDbo();
        $db->setQuery(
            'SELECT * FROM phs_user_profiles WHERE user_id = '.$userId.' AND profile_key      LIKE \'myfilevalue1.%\''
        );
    $results = $db->loadAssocList();
    if($results) echo $results[0]['profile_value'];
    else echo "dont work";

itu menampilkan "tidak berfungsi" :(

apa yang salah dengan kode ini?


person Edoz    schedule 22.10.2012    source sumber
comment
Bagaimana struktur file database Anda. Misalnya apakah Anda tidak menggunakan #__phs_user_profiles menggunakan awalan joomla?   -  person George Wilson    schedule 22.10.2012
comment
Saya sudah mencoba menggunakan #__ tapi sama saja.. kesalahannya ada di query apostrof ' :)   -  person Edoz    schedule 23.10.2012


Jawaban (2)


Cara sederhana yang Anda perlukan untuk mengedit tampilan com_users (profil) dan dalam tampilan profil Anda dapat mengakses pengguna ini dengan: -

$user =& JFactory::getUser();

 //firstly check you got this.  
echo  $userId = $user->id;
// then you can access all fields using userid.
    $db = &JFactory::getDbo();
    $query = "SELECT * FROM phs_user_profiles WHERE user_id = ".$userId;
        $db->setQuery($query);
    $results = $db->loadAssocList();
// print result using print_r($results); if you get
    if($results) echo $results[0]['profile_value'];
    else echo "dont work";

periksa juga tautannya http://docs.joomla.org/Accessing_the_database_using_JDatabase

person Rakesh Sharma    schedule 22.10.2012
comment
terima kasih.. Saya tidak dapat menggunakan print_r karena plugin saya tidak mengizinkannya, tetapi ada yang salah dengan ' kueri - person Edoz; 23.10.2012

Pertama-tama, Anda salah menentukan tabel database Anda. Anda perlu mendefinisikan awalan menggunakan #__, misalnya #__content.

Anda juga harus mengubah kode berikut:

if($results) echo $results[0]['profile_value'];
else echo "dont work";

untuk ini:

if($results) { 
   echo $results[0]['profile_value'];
}
else { 
   echo "dont work";

}
person Lodder    schedule 22.10.2012
comment
Saya pertama kali mencoba dengan #__ tapi tidak berubah hasilnya... juga dengan {} sama :) - person Edoz; 23.10.2012