it-swarm-id.com

Tampilkan simpul dalam overlay menggunakan modul overlay drupal 7

Apakah ada juga untuk membuka overlay dengan konten node menggunakan drupal modul overlay core? Jika saya bisa menggunakan kembali setidaknya kode javascript saya sudah senang =)

6
Luiz Guilherme

Cara yang lebih cepat adalah dengan mengimplementasikan hook_admin_paths_alter () dalam modul untuk mendefinisikan kembali item menu mana yang didefinisikan dalam hook_menu() oleh modul lain adalah jalur administratif. Nilai yang dikembalikan dari implementasi hook_admin_paths () , yang kemudian diubah dari implementasi hook_admin_paths_alter(), digunakan dari modul Overlay untuk memutuskan halaman mana yang dirender sebagai overlay. Karena modul lain dapat menggunakan informasi yang sama untuk merender halaman menggunakan tema yang berbeda, modul harus memerlukan modul Overlay sebagai dependensi, untuk memastikan halaman tambahan secara efektif diterjemahkan sebagai overlay.

function mymodule_admin_paths_alter(&$paths) {
  $paths['node/*/view'] = TRUE;
}

Jika Anda melihat bahwa implementasi ini tidak berfungsi ketika pengguna melihat, misalnya, example.com/node/1, tetapi hanya ketika mereka melihat example.com/node/1/view, maka saya akan mengimplementasikan hook menggunakan kode berikut. Implementasi pertama yang saya berikan harus berfungsi, karena tab "Lihat" adalah yang default, dan ketika pengguna melihat example.com/node/1, Drupal benar-benar menunjukkan example.com/node/1/lihat.

function mymodule_admin_paths_alter(&$paths) {
  $paths['node/*'] = TRUE;
  $paths['node/*/view'] = TRUE;
}

Karena baris pertama dapat menangkap semua halaman simpul (saya tidak memverifikasi itu), saya akan memverifikasi jika ada halaman lain di bawah jalur yang tidak boleh dirender; dalam hal ini implementasinya dapat diubah seperti yang berikut ("simpul/*/backlink" hanyalah contoh):

function mymodule_admin_paths_alter(&$paths) {
  $paths['node/*'] = TRUE;
  $paths['node/*/view'] = TRUE;
  $paths['node/*/backlinks'] = FALSE;
}
  • Biasanya, modul mengimplementasikan hook_admin_paths() untuk melaporkan item menu mana yang merupakan halaman administratif; ini berarti bahwa jika halaman bukan halaman administratif, entri untuk halaman itu tidak ditambahkan ke array yang dikembalikan.
  • hook_admin_paths() diterapkan untuk item menu yang didefinisikan dalam modul Anda sendiri; untuk mendefinisikan ulang ketika item menu yang didefinisikan dari modul lain adalah halaman administratif, Anda perlu menerapkan hook_admin_paths_alter().
  • Ke halaman yang didefinisikan sebagai halaman administratif tidak secara otomatis menerapkan kontrol akses; ini berarti modul yang mendefinisikan item menu yang dilaporkan sebagai halaman administratif masih perlu menggunakan "akses panggilan balik" dan "argumen akses" untuk menentukan pengguna mana yang dapat mengakses item menu yang terkait dengan halaman administratif. Halaman yang didefinisikan sebagai halaman administratif hanya diberikan secara berbeda, jika ada modul yang melakukan itu.
  • Modul simpul mendefinisikan halaman pengeditan simpul sebagai halaman administratif hanya ketika kotak centang di halaman administrasi dipilih; halaman-halaman itu sudah ditangani.
6
kiamlaluno

Anda juga dapat menggunakan modul Overlay Paths . Ini adalah modul sederhana yang memungkinkan administrator menggunakan Overlay bawaan untuk halaman non-admin. Ini berarti Anda dapat menggunakan hamparan untuk melakukan sembulan tanpa menambahkan lagi pustaka javascript ke situs Anda.

6
user842

Saya akhirnya menggunakan modul Overlay Paths dengan Panels sehingga saya bisa memperlihatkan formulir pendaftaran buletin kami. Formulir muncul, tetapi juga termasuk semua yang lain di halaman (header, footer, sidebars, dll.). Itu menampilkan halaman pendaftaran buletin melalui templat situs default.

Jadi solusinya adalah membuat Varian pada templat situs default di bawah Panel. Varian dipilih hanya jika Node: Type adalah Webform. Kemudian saya menghapus konten berlebih dan membuat Tampilan varian hanya Konten Utama.

Presto! Halaman pendaftaran buletin muncul dalam hamparan hanya sebagai bentuk yang dapat saya gaya dengan isi CSS heart saya!

1
silentkrange