web-gelistirme-sc.com

drupal 7 yer paylaşımı modülü kullanarak bindirmede düğümü göster

Yine de drupal bindirme çekirdek modülü kullanarak bir düğüm içeriği ile bir bindirme açmak için var mı? En azından javascript kodunu yeniden kullanabilseydim zaten mutlu olurum =)

6
Luiz Guilherme

Daha hızlı yol, hook_menu() öğesinde tanımlanan menü öğelerinden hangisinin yönetim yolları olduğunu yeniden tanımlamak için bir modüle hook_admin_paths_alter () uygulamaktır. hook_admin_paths () uygulamalarından döndürülen ve daha sonra hook_admin_paths_alter() uygulamalarından değiştirilen değer, hangi sayfaların kaplama olarak oluşturulacağına karar vermek için Kaplama modülünden kullanılır. Diğer modüller, sayfaları farklı bir tema kullanarak oluşturmak için aynı bilgileri kullanabildiğinden, modül, ek sayfaların yer paylaşımı olarak etkin bir şekilde oluşturulduğundan emin olmak için Bağımlı modülünü bağımlılık olarak gerektirmelidir.

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

Kullanıcılar örneğin example.com/düğüm/1'i görüntülerken ancak yalnızca example.com/node/1/view görüntülediğinde bu uygulamanın çalışmadığını fark ederseniz, Aşağıdaki kod. Sağladığım ilk uygulama "Görünüm" sekmesi varsayılan olarak olduğu için ve kullanıcılar example.com/node/1, Drupal gerçekten example.com/node görüntülediğinde) çalışmalıdır./1/görünüşüdür.

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

İlk satır tüm düğüm sayfalarını yakalayabildiğinden (bunu doğrulamadım), bu yolun altında oluşturulmaması gereken başka sayfalar olup olmadığını doğrularım; bu durumda uygulama aşağıdaki gibi değiştirilebilir ("düğüm/*/geri bağlantılar" yalnızca bir örnektir):

function mymodule_admin_paths_alter(&$paths) {
  $paths['node/*'] = TRUE;
  $paths['node/*/view'] = TRUE;
  $paths['node/*/backlinks'] = FALSE;
}
  • Normalde modüller, menü öğelerinden hangilerinin yönetim sayfası olduğunu bildirmek için hook_admin_paths() uygular; bu, bir sayfa yönetici sayfası değilse, döndürülen diziye o sayfa için bir giriş eklenmediği anlamına gelir.
  • hook_admin_paths(), kendi modülünüzde tanımlanan menü öğeleri için uygulanır; diğer modüllerden tanımlanan menü öğeleri yönetim sayfası olduğunda yeniden tanımlamak için hook_admin_paths_alter() uygulamanız gerekir.
  • Yönetici sayfaları olarak tanımlanan sayfalara otomatik olarak erişim denetimi uygulanmaz; bu, yönetim sayfası olduğu bildirilen menü öğelerini tanımlayan modülün, hangi kullanıcıların yönetim sayfalarıyla ilişkili bu menü öğelerine erişebileceğini tanımlamak için yine de "erişim geri araması" ve "erişim bağımsız değişkenleri" kullanması gerektiği anlamına gelir. Yönetici sayfaları olarak tanımlanan sayfalar, yalnızca bunu yapan bir modül varsa farklı şekilde oluşturulur.
  • Düğüm modülü yalnızca düzenleme sayfasındaki bir onay kutusu seçildiğinde düğüm düzenleme sayfalarını yönetim sayfası olarak tanımlar; bu sayfalar zaten işlendi.
6
kiamlaluno

Ayrıca Overlay Paths modülünü de kullanabilirsiniz. Bu, yöneticilerin yönetici olmayan sayfalar için yerleşik Yer Paylaşımı kullanmasını sağlayan basit bir modüldür. Bu, sitenize henüz daha fazla javascript kitaplığı eklemeden yer paylaşımı yapmak için yer paylaşımını kullanabileceğiniz anlamına gelir.

6
user842

Bülten kayıt formumuzu gösterebilmem için Paneller ile Kaplama Yolları modülünü kullandım. Form ortaya çıktı, ancak sayfadaki diğer her şeyi de içeriyordu (üstbilgi, altbilgi, kenar çubukları vb.). Bülten kayıt sayfasını varsayılan site şablonu üzerinden görüntülüyordu.

Bu yüzden zor çözüm, Paneller altındaki varsayılan site şablonunda bir Varyant oluşturmaktı. Varyant yalnızca Düğüm: Tür bir Webformuysa seçildi. Sonra fazla içeriği kaldırdım ve Variant'ı sadece Ana İçeriği gösterdim.

Presto! Bülten kayıt sayfası, CSS kalbimin içeriğine stil uygulayabileceğim bir form olarak yer paylaşımında göründü!

1
silentkrange