Dengan pengguna yang menjadi entitas di D7 saya berasumsi tipe pengguna akan dibangun di opsi "komentar". Sepertinya bukan itu masalahnya. Saya hanya ingin mengizinkan pengguna untuk meninggalkan komentar di halaman profil pengguna. Apakah ada cara sederhana untuk melakukan itu?
11
Jawaban:
Anda dapat menggunakan Profile2 , yang melampirkan simpul ke profil pengguna, sehingga dapat dikomentari dan akan terlihat sebagai mengomentari pengguna.
sumber
Saya belum mencobanya, tetapi modul Balas terlihat sangat bagus.
sumber
Saat ini di Drupal 7 core, modul komentar masih digabungkan ke
node.module
. Komentar adalah entitas tetapi tidak dapat ditambahkan ke entitas selain node.Anda dapat melihat masalah ini untuk mendapatkan pembaruan: Decouple comment.module dari node
sumber
Saya akan mendorong penggunaan status http://drupal.org/project/statuses untuk gaya dinding "twitter-facebook". Ini bukan entitas "komentar" tetapi berfungsi cukup baik.
Saya juga melihat kodenya, ditulis dengan baik dan memiliki banyak kait.
Status juga terintegrasi dengan: Tampilan Aktivitas Aturan Bendera Domain Mollom Notifikasi Pesan Layanan Pathauto Twitter Userpoints
sumber
Jika use case adalah kasus di mana setiap pengguna hanya dapat berkomentar satu kali (seperti ulasan misalnya), solusi terbaik yang saya temukan adalah menggunakan Modul Bendera. Versi 7.3 dari Bendera sekarang dapat diisi. Jadi, Anda membuat bendera "tambahkan komentar" dan tambahkan bidang teks + bidang apa pun yang Anda inginkan. Kemudian Anda dapat menampilkan konten bendera dalam tampilan. Solusi yang sangat fleksibel, dapat diperpanjang dan non-hack-y.
sumber
Cara saya akhirnya menerapkan komentar pada profil pengguna adalah menambahkan tipe konten "buku tamu" yang memiliki bidang referensi pengguna.
Ketika Anda melihat profil pengguna seseorang, Anda dapat mengeklik "tandatangani buku tamu" yang memiliki pranala ke "simpul / tambahkan / buku tamu? Sunting [field_guestbook_userreference] [und] [uid] = user123".
Modul prepopulate digunakan untuk prefill nama pengguna pada node add form dengan "user123" dan saya menggunakan css untuk menyembunyikan bidang itu. Buku tamu memiliki komentar yang diaktifkan untuk memungkinkan orang lain untuk berkomentar juga.
Saya menggunakan blok tampilan untuk menampilkan judul "buku tamu" di profil pengguna.
sumber
Terinspirasi oleh @MotoTribe ( pertanyaan serupa di sini ), saya menyelesaikannya seperti ini:
Anda akan memerlukan: tampilan, panel, aturan, referensi entitas dan modul prepopulate referensi entitas.
Buat jenis konten
user_comments
, hapus bidang isian (jika tidak, pengguna harus memasukkan 2 isian: judul dan isi). Komentar akan menjadi judul simpul (255 Panjang maksimum). Tambahkan bidang referensi entitasfield_user_reference_comments
.Buat tampilan USER (nama:)
user_comments
, tambahkan hubungan ke "referensi entitas". Tambahkan filter kontekstual: User Uid> berikan nilai default -> ID Pengguna dari Url.Tampilan dalam membuat 2 blok (saya melakukan panel konten).
<a class="" href="/drupal//node/add/user-comments?field_user_reference_comments=[uid]">Add comment</a>
.Tambahkan aturan baru (impor dari sini, pastikan ikuti sintaks yang dijelaskan di atas):
Aktifkan dari panel "tampilan pengguna". Tambahkan pengguna yang dilihat, tambahkan tampilan Blok pertama, tambahkan tampilan Blok kedua.
Sekarang Anda selesai; itu harus bekerja dengan baik. Buat tampilan Anda serumit yang Anda butuhkan, tambahkan: bidang, filter, jenis, dll. Berfungsi sempurna.
sumber
Profil pengguna pada dasarnya adalah tampilan; Anda dapat menghubungkan ke tampilan untuk memasukkan komentar.
sumber
buat simpul komentar dengan semua bidang. Diantaranya satu bidang harus merujuk ke tipe profil2 (Menggunakan modul referensi). Kemudian Anda dapat melampirkan simpul itu ke profil2 menggunakan modul EVA. Jika ada jawaban yang lebih baik, beri tahu saya.
sumber
Anda bisa menambahkan item koleksi bidang ke profil Anda dan kemudian menambahkan bidang yang sewenang-wenang padanya. jadi pengguna dapat memasukkan komentar dengannya jika Anda menggunakan modul izin bidang dan memberi semua pengguna izin memasukkan komentar. itu berfungsi dengan baik saya sudah mencobanya
sumber