Mengizinkan pengguna menambahkan istilah taksonomi tetapi meminta administrator untuk memverifikasi mereka


8

Saya ingin mengizinkan pengguna untuk menambahkan istilah taksonomi baru, tetapi saya ingin ini diverifikasi oleh administrator. Cara saya membayangkan pekerjaan ini akan memiliki pengguna mengisi formulir yang akan mengirim pemberitahuan ke admin yang ditentukan; kemudian, jika admin menerima pengguna meminta beberapa hook atau metode akan dipicu yang akan menciptakan istilah taksonomi baru.

Apakah ada cara untuk melakukan hal semacam ini dengan Drupal?


2
Itu pasti ide yang baik untuk modul baru (saya tidak mengetahui adanya modul untuk menawarkan fungsionalitas itu saat ini). Awal terbaik mungkin adalah untuk bermain-main hook_taxonomy_term_insert.
Paul

Jawaban:


8

Lakukan brainstorming di sini ... karena sekarang taksonomi merupakan bagian dari sistem entitas, seharusnya dimungkinkan untuk melakukan sesuatu seperti ini:

  1. Instal http://drupal.org/project/workflow
  2. Tambahkan bidang ke taksonomi Anda yang disebut "Diterbitkan" atau "Disetujui" yang merupakan kotak centang boolean
  3. Menyiapkan alur kerja yang dipicu pada penciptaan istilah taksonomi dengan Disetujui sebagai bidang yang hanya dapat diakses oleh admin
  4. Tulis kail ke dalam istilah taksonomi yang menghapus istilah kecuali disetujui (ini adalah bagian yang sulit - ada banyak cara untuk sampai pada ketentuan taksonomi, jadi ini mungkin membuat pendekatan ini diperdebatkan).

Alternatif: Karena Anda menyebutkan pengguna mengisi formulir - Anda bisa dengan mudah memiliki jenis konten yang disebut "Istilah Taksonomi" atau sesuatu dengan bidang Taksonomi yang diperlukan, kemudian gunakan alur kerja / Aturan untuk mengirim pengiriman ke admin, setelah disetujui menggunakan Aturan atau kode khusus untuk membuat istilah taksonomi baru.


1
Ide bagus. Untuk mengatasi poin ke-4, Anda dapat dengan mudah menerapkan hook_taxonomy_term_view_alter(), memeriksa untuk melihat apakah istilah tersebut disetujui atau tidak, dan berlaku '#access' => FALSEuntuk render array untuk mencegahnya ditampilkan. Itu harus bekerja luas sistem (kecuali mungkin untuk tampilan berbasis taksonomi yang menggunakan bidang alih-alih mode tampilan, dan jangan melakukan pemeriksaan tambahan).
Clive

3

Saya tidak pernah melakukan hal seperti ini, tetapi pendekatan saya adalah membuat jenis konten "istilah taksonomi yang diusulkan" dan memodelkan logika melalui modul Aturan .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.