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 Issue
dan Magazine
akan menjadi tipe Koleksi Bidang, Issue
adalah bidang Article
dan Magazine
bidang Issue
. Saya memiliki pengalaman menerapkan struktur seperti itu. Dalam kasus saya, persyaratannya adalah Library
yang 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 songs
yang 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.
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.
sumber
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.
sumber
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.
sumber
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.
sumber