Apa perbedaan antara Manajer halaman dan Panel?

31

Saya menulis pertanyaan ini, karena saya melihat kebingungan di seluruh komunitas Drupal tentang "apa itu Page manager", dan "apa itu Panels".

Letharion
sumber

Jawaban:

48

Ctools

Di Ctools , ada sub-modul yang disebut "Page manager". Modul ini, pada intinya, adalah antarmuka pengguna grafis ke hook_menu . Ini memungkinkan Anda untuk membuat jalur baru di sistem, atau mengambil alih beberapa jalur yang disediakan oleh Core.

Manajer halaman

Setelah pengelola Halaman mengelola jalur untuk Anda, ia dapat melakukan beberapa hal berbeda dengannya. Di luar kotak, itu dapat memberikan pengalihan untuk Anda. Satu kasus penggunaan yang umum untuk ini, adalah untuk menolak akses ke node yang tidak memiliki tema yang tepat karena mereka tidak dimaksudkan untuk dilihat sendiri, seperti "Kotak fakta" atau "Gambar node". Lain adalah untuk mengarahkan dari tampilan istilah ke pencarian Solr dari istilah yang sama.

Salah satu manfaat utama dari Page manager, adalah bahwa ia memperkenalkan cara berurusan dengan "Konteks", tidak menjadi bingung dengan Konteks modul . Kicker di sini, adalah bahwa Panes, yang merupakan "blok yang sedikit lebih pintar", dapat mendeklarasikan dependensi mereka ke sistem, dan mereka memiliki argumen aktual (disebut Konteks) yang diteruskan dengan injeksi dependensi- style.

Bagi mereka yang tidak terbiasa dengan DI, tetapi terbiasa dengan Drupal, ini, misalnya, memungkinkan Anda untuk tidak perlu menggunakan menu_get_object lagi untuk mendapatkan "Satu-satunya simpul yang dirujuk dari jalur menu". Bagaimana jika ada lebih dari satu simpul di jalur? Atau jika Anda benar-benar ingin mendasarkan blok pada node dari referensi entitas? Ini menjadi masalah dengan Halaman manajer, membuat semua blok (panel) jauh lebih fleksibel dan dapat digunakan kembali.

Panel

Kasus penggunaan yang paling umum, adalah untuk menyerahkan tata letak , dan rendering path, ke Panel . Panel menyediakan alat untuk mendefinisikan tata letak, baik dalam kode atau langsung di browser, dan memungkinkan Anda menempatkan konten langsung di browser.

Kesimpulan

Kedua modul ini sangat kuat, dan relatif tidak terdokumentasi dengan baik, yang telah menyebabkan banyak orang merasa frustrasi tentangnya. Memahami bagaimana menggunakannya Namun layak jika Anda sedang membangun sebuah situs yang lebih besar, terutama karena pendekatan mereka untuk menangani "halaman", serta tata letak, terlihat seperti mereka akan ke Drupal 8 inti, courtesy of EclipseGC 's inisiatif SCOTCH . Proyek kotak pasir yang relevan

Bacaan lebih lanjut

Contoh hal menarik lainnya yang dapat dilakukan dengan alat ini:

  1. Jika Konteks digunakan sebagai alat pemisah , Panel dapat bekerja bersama dengannya dan digunakan sebagai alat tata letak.
  2. Panel dapat berinteraksi dengan Display suite untuk menyediakan UI drag-and-drop yang bagus.
  3. Manajer halaman dan Administrasi Kontekstual dapat membantu membangun menu sensitif "Konteks" dan hal-hal bermanfaat lainnya untuk admin / editor situs.
Letharion
sumber
3
Saya tidak pernah benar-benar mengerti / menggunakan pengelola halaman - senang mengetahui untuk apa itu (pada dasarnya). Terima kasih untuk artikel singkatnya!
Chapabu
2
$page_data = page_manager_get_current_page()adalah tempat di mana uang berada, terutama$page_data['handler']
mpdonadio
1

Di Drupal 7, Page Manager adalah dasar dari modul Panel .

" Pelajari pengelola Halaman " adalah kumpulan video yang menarik (dan menakjubkan). Mereka berisi berbagai topik yang terkait dengan modul Panel . Berikut ini ringkasan seluruh rangkaian video tentang topik ini (kutipan dari tautan di atas):

  • Manajer halaman memungkinkan Anda untuk mengumpulkan dan mengelola informasi kontekstual dengan cara yang fleksibel dan konsisten. Ini adalah bagian penting dari membangun infrastruktur di situs web Drupal, dan Anda harus tahu cara menggunakan modul ini.
  • Seri screencast ditargetkan untuk pengembang Drupal yang berpengalaman.
  • Episode 1, 2 dan 3 memperkenalkan konsep paling dasar, seperti halaman khusus, varian, aturan pemilihan dan (sampai batas tertentu) objek kontekstual.
  • Episode 4, 5, 6 dan 7 berbicara tentang Panel, dengan penekanan pada integrasi Views tetapi juga beberapa kata tentang caching yang efisien.
  • Episode 8 dan 9 tentang kontrol akses, item menu, dan paling tidak modul Administrasi Kontekstual yang tidak banyak diketahui tetapi sangat bermanfaat.
  • Episode 10 dan 11 berbicara lebih banyak tentang penggunaan objek kontekstual di Page manager, termasuk menggunakan Views sebagai konteks. Di sinilah, imho, di mana kekuatan sebenarnya dalam Page manager adalah.
  • Episode 12 dan 13 mengumpulkan berbagai bit dan potongan, seperti cara menggunakan Panel untuk dengan mudah mengatur ulang formulir edit node, pengaturan impor / ekspor, dan beberapa modul tambahan yang dapat digunakan dengan Page manager.

Lihat Menjelaskan Panel: Tinjauan untuk Pengembang Drupal untuk penjelasan hebat lainnya tentang modul Panel.

Masa depan Manajer Halaman

Dalam Drupal 8, Page Manager telah menjadi modul yang terpisah, sementara sebelumnya (hingga Drupal 7), itu adalah bagian dari modul CTools . Berikut adalah beberapa kutipan dari halaman proyek (terkait D8):

Ini mendukung pembuatan halaman baru, dan memungkinkan menempatkan blok di dalam halaman itu.

Seperti Page Manager Drupal 7, ia menyediakan konsep "varian halaman", masing-masing dengan kondisi pilihan mereka sendiri.

Selain itu, dapat digunakan untuk mengambil alih halaman yang ada, seperti mengganti / simpul /% untuk mengubah apa yang ditampilkan saat melihat sebuah simpul.

Ini menggunakan inti Conditions, Contextdan BlocksAPI untuk mencapai hal ini.

Pierre
sumber