Apa kelebihan atau kekurangan menggunakan modul berbasis referensi daripada modul taksonomi?


9

Saya bertanya-tanya bagaimana cara memutuskan untuk menggunakan modul Taksonomi inti atau modul Referensi Entitas ?

Saya tidak menggunakan modul Referensi Entitas sebelumnya tetapi saya telah menggunakan modul taksonomi (dan beberapa modul terkait) pada 10-15 situs web.

Apa kelebihan atau kekurangan menggunakan modul berbasis referensi daripada modul taksonomi?


Baru-baru ini, saya mulai membangun situs web arsip majalah.

Ada banyak majalah. Majalah-majalah ini memiliki masalah. Setiap masalah memiliki artikel.


Bagian terkecil (dan terdalam) di sini adalah artikel .

Artikel

  • Nomor halaman (rentang):
  • Judul:
  • Penulis:
  • Jenis artikel:
  • Kata kunci:
  • Majalah:
  • Isu:


Isu

  • Nomor pembuatan:
  • Gambar sampul:
  • Tanggal (dipublikasikan):
  • Majalah:


Majalah

  • Deskripsi:
  • Gambar sampul:


masukkan deskripsi gambar di sini

Di sini, ada (setidaknya) 2 metode untuk mengimplementasikan situs web ini:

1. Akan ada jenis konten yang disebut articledan semua yang lain (masalah, majalah, penulis) akan menjadi istilah taksonomi (hierarkis). Akan ada hierarki antara masalah dan majalah dll.

2. Akan ada banyak jenis konten: artikel, masalah, majalah, penulis. Saat membuat artikel; masalah, majalah dan penulis dapat dirujuk dll.

Jadi, secara teori kedua cara tersebut tampak sangat mirip.

Adakah orang yang menghadapi situasi serupa dan dapatkah Anda mengatakan metode mana yang Anda sukai, mengapa?

Jawaban:


9

Ada juga solusi lain untuk masalah Anda.

Koleksi Lapangan

Anda bisa menggunakan modul kumpulan koleksi dan koleksi tampilan bidang untuk menyimpan dan mengatur konten. Menggunakan pendekatan ini Issuedan Magazineakan menjadi tipe Koleksi Bidang, Issueadalah bidang Articledan Magazinebidang Issue. Saya memiliki pengalaman menerapkan struktur seperti itu. Dalam kasus saya, persyaratannya adalah Libraryyang harus berisi buku (dengan judul, Penerbit dan ... bidang), Setiap buku berisi banyak volume (Jumlah halaman, penerjemah, ...) dan setiap volume juga mengandung jumlah item lainnya yang tidak terbatas. (seperti pemindaian beberapa halaman yang tidak sama di antara buku-buku).

Saya menerapkan ini menggunakan pendekatan Field Collection dan itu sangat bagus. Anda dapat dengan mudah membuat tautan untuk mengedit setiap item individual dari setiap koleksi bidang dan Anda juga dapat memfilter menurut item-item dari koleksi bidang. Saya memposting jawaban untuk item Grup di Views berdasarkan nilai di Field Collection yang menunjukkan cara bekerja dengan Views Field Collection

Lampiran Tampilan Entitas

Juga dikenal sebagai modul EVA .

"Eva" adalah kependekan dari "Lampiran Tampilan Entitas;" itu menyediakan plugin tampilan Tampilan yang memungkinkan output dari Tampilan untuk dilampirkan ke konten dari setiap entitas Drupal. Badan simpul atau komentar, profil akun pengguna, atau halaman daftar untuk istilah Taksonomi adalah semua contoh konten entitas.

Anda dapat menggunakan EVA untuk hanya menampilkan nilai bidang untuk bagian konten tertentu, memberikan kontrol yang luar biasa atas tampilan dan fleksibilitas format bidang. Misalnya, Anda mungkin ingin agar dua bidang digabungkan dengan beberapa cara khusus. Anda dapat menambahkan bidang Anda ke tampilan EVA Anda, mengatur filter kontekstual ke NID, menambahkan Bidang Global: Teks, dan menggunakan token memformat bidang Anda dengan HTML. Jangan lupa untuk mengecualikan bidang Anda dari tampilan jika Anda akan menggunakannya bersama di Bidang Teks: Global. Contoh: Anda mungkin memiliki kota, negara bagian, dan bidang zip. Anda dapat menggabungkannya dalam Global: Text Field in Views untuk ditampilkan sebagai “City, State ZIP”. Ketika Anda mengelola tampilan untuk jenis konten Anda, tambahkan EVA yang baru saja dibuat ke layar dan setiap kali sebuah node ditampilkan, ia akan meneruskan nid ke EVA dan EVA akan mengembalikan bidang yang Anda pilih, diformat sesuai keinginan. (sumber:Cara Penggunaan Referensi EVA dan Entitas Bagaimana )

Modul ini sempurna, melampirkan tampilan sebagai bidang ke node dari tipe konten. Saya menggunakan modul ini untuk membuat Album. Album ini berisi singer(dengan beberapa informasi tentang masing-masing) dan songsyang berisi File, Judul, Nilai, dan .... Jadi saya membuat Pandangan tipe EVA dan saya melampirkannya ke sebuah node. Jadi pada halaman node setiap Singer, saya menampilkan View ini yang mendapatkan informasi yang sesuai dari node. The Views dengan Entity Reference adalah tutorial sempurna tentang bagaimana menggunakan modul ini.

Ketentuan Taksonomi VS Referensi Entitas

Saya sarankan Anda untuk membaca referensi Entitas vs taksonomi dan Apakah ada manfaat / peringatan dengan menggunakan Referensi Entitas atas Referensi Term? , Seperti yang dikatakan Taksonomi paling baik digunakan ketika mengatur barang-barang serupa secara hierarkis. Seperti tag .

Taksonomi memungkinkan Anda menggunakan penandaan gratis (dapat dinonaktifkan menggunakan modul Taksonomi Konten ), yang memungkinkan pembuatan tag baru saat bepergian. Sangat mudah untuk memodifikasi kerangka konten. Menggunakan pendekatan ini, reguler atau setidaknya beberapa pengguna terotentikasi (yang tidak memiliki pengetahuan pemrograman) dapat mengubah kerangka ini. Modul Select Hierarchical adalah contoh sempurna dari pendekatan tersebut.

Meskipun Taksonomi mudah digunakan tetapi saya sendiri lebih suka Referensi Entitas, ini membuka banyak kemungkinan dan skalabilitas dan memungkinkan pembuatan struktur yang sangat kompleks. Konsep entitas dalam konteks ini tidak terbatas pada konten. Ini dapat berupa komentar, pengguna, taksonomi dan .... Ini jauh lebih skalabel sehingga Anda tidak akan khawatir tentang menyesuaikan jenis konten, atau memodifikasinya di masa mendatang (seperti yang ditunjukkan dalam referensi Entitas vs taksonomi ). Saya percaya pendekatan Entitas lebih kuat daripada Taksonomi.

Ada juga beberapa kombinasi lain dari pendekatan ini yang tidak perlu disebutkan.

Pokoknya saya sarankan Anda sepenuhnya memahami pendekatan Entity dan modul terkait. Jika Anda menggunakannya dalam banyak proyek, meskipun kompleksitasnya akan sangat mudah bagi Anda untuk menggunakannya. Tidak hanya dalam kebutuhan Anda saat ini tetapi juga di masa depan itu akan menjadi Alat yang Sangat Andal untuk Anda.


Terima kasih banyak atas jawaban terperinci Anda. Ini memberi saya perspektif yang baik tentang penggunaan modul non-taksonomi. Ada 2 hal yang perlu dipahami sebelum saya menggunakan solusi semacam itu: 1. Taksonomi memiliki fitur lengkapi-otomatis, apakah modul-modul ini memiliki fitur ini? Karena tanpa fitur lengkapi-otomatis pada simpul tambahkan halaman, hampir tidak mungkin membuat situs web. 2. Saya dapat menggunakan modul taksonomi inti itu sendiri tanpa modul lain tetapi solusi yang Anda sebutkan memerlukan beberapa modul tambahan dan sulit untuk mengetahui "menggunakan modul mana yang bagus" . Terima kasih lagi.
herci

2
Terimakasih kembali. Tentang pertanyaan nomor 1, Jika Anda menggunakan modul Entitas dan bidang referensi entitas, ya itu pelengkapan otomatis. Jika Anda menggunakan Field Collection, ia tidak perlu dilengkapi dengan autocomplete karena tidak ada hubungan, simpul dan anak-anak di-capsulated sebagai satu paket. Tentang pertanyaan 2, Banyak modul bergantung pada modul Entity, jadi apa pun pendekatan yang Anda gunakan, Anda harus menginstal dan mengaktifkan modul ini. Lebih jauh lagi saya pikir kekuatan yang diberikannya layak Anda instal beberapa modul
M

Sementara saya akan merekomendasikan tinggal jauh dari Koleksi Bidang, Entitas dengan bidang referensi entitas adalah alat yang hebat, dan sangat kuat. Dikombinasikan dengan sesuatu seperti CER (Corresponding Entity Referensi) Anda mendapatkan hubungan 2 arah, jadi dalam kasus Anda artikel tersebut akan tahu apa masalah dan majalah miliknya, bersama dengan masalah mengetahui tentang artikel tersebut. Saya harus mencatat bahwa pandangan sudah memiliki pencarian terbalik untuk hubungan entitas, tetapi ini lebih cepat dan membuka kemungkinan baru.
mediaashley

1
@mediaashley untuk mendapatkan hubungan 2 arah, Anda tidak perlu menginstal CER. Menggunakan hubungan Anda dapat dengan mudah mencapai ini. The drupal.stackexchange.com/questions/124893/... menjelaskan ini
M ama D

2
Saya akan menyarankan untuk menjauh dari koleksi lapangan untuk apa pun selain kasus penggunaan sederhana. Ketika berhadapan dengan persyaratan yang lebih kompleks, Anda akan menemukan bahwa dalam koleksi lapangan jangka panjang lemah didukung dalam modul lain. Masalah lain adalah bahwa semua teknik drupal untuk mengakses dan memanipulasi data yang Anda gunakan tidak berlaku untuk data yang disimpan dalam koleksi lapangan. Tentu saja masih dimungkinkan untuk melakukan semua manipulasi data, namun implementasinya agak membingungkan. Pergi dengan referensi entitas.
gbyte.co

8

Anda juga dapat memiliki beberapa kombinasi lainnya, seperti artikel dan masalah adalah simpul dan majalah adalah taksonomi.

Sebenarnya tidak ada jawaban yang benar atau salah untuk ini karena pilihan pribadi, persyaratan proyek tertentu, dll.

Cara terbaik adalah menggunakan node untuk konten dan taksonomi untuk kategorisasi konten itu, namun kadang-kadang bisa agak suram, apakah sesuatu hanya kategorisasi atau kontennya sendiri.

Misalnya, bidang jenis artikel dan kata kunci Anda tampaknya lebih merupakan taksonomi, tetapi masalah dan majalah dapat benar-benar berubah.

Satu hal yang dapat memengaruhi keputusan Anda adalah fungsionalitas di luar kotak. Misalnya, ada lebih banyak modul tambahan untuk node daripada ada untuk taksonomi tetapi untuk taksonomi Anda keluar dari halaman daftar kotak (jika Anda menginginkannya). Mungkin juga ada fungsionalitas terkait hierarki yang lebih mudah untuk keluar dari kotak dengan satu solusi atau yang lain.

Definisi tipe konten hanya bagian dari gambar. Anda harus sepenuhnya mempertimbangkan bagaimana Anda ingin konten disajikan kepada pengguna, bagaimana Anda ingin pengguna menavigasi melalui hierarki konten, bagaimana konten ini berhubungan dengan konten lain di situs, bagaimana Anda ingin admin untuk mengelola ini konten, dll. Misalnya, apakah Anda ingin semacam sistem menu hirarkis, apakah Anda ingin orang-orang dapat pergi ke majalah atau menerbitkan halaman atau konten yang terkait dengan yang hanya terlihat di halaman artikel. Apakah Anda ingin memiliki pencarian tunggal yang mencantumkan semua 3 jenis konten (ini mungkin kurang sepele jika beberapa node dan beberapa istilah taksonomi).

Rencanakan semua itu dan kemudian lihat modul apa yang tersedia untuk membantu Anda mencapainya. Anda mungkin menemukan satu cara akan membuatnya lebih mudah untuk mencapai yang Anda inginkan. Jika tidak maka Anda hanya harus pergi dengan yang menurut Anda terbaik untuk alasan apa pun yang Anda miliki.

Terkadang Anda mungkin pergi satu arah dan kemudian menemukan sesuatu yang membuatnya sulit untuk mencapai persyaratan Anda. Jika Anda merencanakannya di muka sebanyak mungkin, Anda mengurangi risiko itu.


Ya, saya bilang mungkin ada kombinasi lain. Saya akan mencoba modul berbasis referensi karena saya sudah menggunakan solusi berbasis taksonomi di banyak proyek. Saya akan membagikan hasilnya untuk kasus ini. Terima kasih.
herci

5

Satu pertimbangan lain ketika menggunakan istilah taksonomi untuk hal-hal seperti "Majalah" adalah bahwa Anda akan kehilangan fungsionalitas seperti revisi dan komentar pada item-item itu. Revisi yang diberikan dapat ditambahkan dengan modul seperti revisi Taksonomi tetapi itu adalah modul dengan basis instalasi yang sangat rendah. Secara pribadi saya akan mempercayai inti pada penanganan revisi pada node atas ini.

Saya dapat memikirkan setidaknya satu kesempatan ketika saya harus mengubah sesuatu dari istilah taksonomi menjadi simpul setelah sebuah proyek berjalan karena perubahan persyaratan, dan ini melibatkan sedikit restrukturisasi dan migrasi.

Anda mungkin akan menemukan bahwa jika Anda pindah ke menggunakan jenis entitas lain seperti node dengan entity_reference maka di sana Anda tidak akan mengalami kesulitan membuat perubahan karena semuanya bekerja dengan cara yang sama tetapi itu akan memberi Anda lebih banyak fleksibilitas.


Terima kasih, bagian revisi adalah poin yang bagus. Seperti yang Anda katakan untuk bermigrasi dari taksonomi ke simpul itu sulit. Kemungkinan besar saya akan menggunakan solusi berbasis node + entity_reference . Sekali lagi terima kasih atas jawaban Anda.
herci

3

Saya tidak akan mengatakan ini adalah jawaban yang paling akurat, tetapi ini adalah bagaimana saya memikirkannya. Saya akan jelaskan dengan beberapa contoh.

Saya biasanya menggunakan taksonomi untuk mengelompokkan node berdasarkan abstraksi. Misalnya, berita dapat dikategorikan ke dalam olahraga, politik, dll.

Tetapi ketika saya ingin memiliki referensi seperti majalah saya memikirkan masa depan. Pikirkan kapan Anda ingin membantu pengguna memutuskan artikel mana yang akan dipilih. Peringkat majalah (Dampak Faktor mungkin) adalah suatu kemungkinan. Atau mungkin saya ingin menghubungi majalah itu. Suatu istilah tidak akan membantu saya dalam situasi ini, di mana jika itu adalah simpul atau entitas itu akan.

Di sisi lain Anda harus melakukan beberapa hal sendiri. Misalnya, mengklik istilah taksonomi akan mengarahkan Anda ke halaman yang diisi dengan node yang dikategorikan dari istilah itu. Jadi sekarang diperlukan tampilan dan filter kontekstual, dll.


3

Saya yakin seseorang bertanya mengapa saya akan tinggal jauh dari koleksi lapangan, tetapi komentar itu tampaknya telah dihapus. Either way saya 2 sen:

Taksonomi harus digunakan untuk klasifikasi dan kategorisasi. Bukan untuk hubungan konten. Dengan menautkan 2 buah konten melalui istilah taksonomi Anda menggunakan 3 entitas di mana Anda hanya perlu 2.

Dalam pengalaman saya, sementara taksonomi sekarang dapat fieldable, mereka tidak sepenuhnya entitas baku, dan karenanya tidak boleh digunakan sebagai "konten".

Dalam kasus khusus ini, jika Majalah Anda memiliki konten (deskripsi tentang apa itu, detail tentang pemesanannya, dll.), Atau "halaman" sendiri, maka itu haruslah tipe konten, karena itu konten.

Masalahnya sedikit ambigu, tetapi kemungkinan Anda memiliki gambaran umum dll, sehingga mereka cenderung memiliki halaman, dan kemungkinan juga konten. Jadi tipe konten yang lain.

Artikel-artikel tersebut jelas merupakan tipe konten.

Dalam membangun admin untuk ini, Anda dapat menggunakan Referensi Entitas untuk menautkan konten-konten ini, tetapi Anda bisa membuatnya lebih baik.

Dengan cara yang sama seperti yang disarankan @Drupalist menggunakan Field Collections, Anda dapat menggunakan formulir entitas inline (saya pikir bagian dari Referensi Entitas). Field Collections adalah salah satu modul lama ini yang merupakan ide bagus, tidak diimplementasikan dengan sangat baik, dan dengan banyak tabrakan dengan modul lain. Sementara mereka sekarang adalah entitas, mereka masih memiliki masalah, dan Anda akan lebih baik menggunakan entitas yang lengkap (bahkan tipe konten) untuk hal-hal seperti Anda penulis dll.

Formulir entitas inline memungkinkan Anda membuat dan mengedit entitas yang direferensikan, dari dalam entitas yang ingin Anda rujuk dari ... jadi, buat / edit penulis dari dalam artikel, atau hanya referensi yang sudah dibuat.

Tambahkan CER dan Anda akan secara otomatis mendapatkan referensi dari penulis kembali ke artikel, artikel kembali ke masalah, dan masalah kembali ke Majalah, atau ke arah mana pun Anda pergi. Ini memiliki keuntungan dalam cara tampilan Anda, tetapi juga memungkinkan Anda menampilkan daftar artikel di halaman penulis, dan info penulis di halaman artikel, semuanya tanpa tampilan sama sekali.

Lingkari penuh kembali ke taksonomi, Anda kemudian akan menggunakan ini untuk "menandai" artikel dll dengan ... "memancing", "mobil", "komputer" dll/ apa pun ... sehingga Anda dapat menemukan masalah, majalah, artikel atau penulis yang memiliki konten / tulisan tentang tag itu.

Mencoba membuat itu singkat, jadi mudah-mudahan ini membantu dan masuk akal. Saya telah melakukan ini di banyak situs. Acara olahraga global, situs pemesanan perjalanan / liburan, penyiar internasional, minuman, amal dll. Kuat, dan melindungi Anda untuk persyaratan yang tidak terduga.


Terima kasih atas jawaban anda. Benar-benar masuk akal dan pengalaman membaca sangat penting bagi saya.
herci
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.