Yanıtlar:
Ctools
In Ctools , "Sayfa yöneticisi" olarak adlandırılan bir alt modülü vardır. Bu modül, özünde, hook_menu için grafiksel bir kullanıcı arayüzüdür . Sistemde yeni yollar oluşturmanıza veya Core tarafından sağlananlardan bazılarını devralmanıza izin verir.
Sayfa yöneticisi
Sayfa yöneticisi sizin için bir yolu yönettiğinde, onunla birkaç farklı şey yapabilir. Kutunun dışında, sizin için yönlendirmeler sağlayabilir. Bunun için yaygın bir kullanım örneği, "Bilgi kutuları" veya "Görüntü düğümleri" gibi kendi başlarına görüntülenmemeleri gerektiği için, uygun temalara sahip olmayan düğümlere erişimi reddetmektir. Başka bir terim görünümünden aynı terimin bir Solr aramasına yönlendirmek.
Sayfa yöneticisinin temel yararlarından biri, modül içeriği ile karıştırılmaması için “İçerik” ile başa çıkmanın bir yolunu sunmasıdır . Burada dikkat çekici olan, "biraz daha akıllı bloklar" olan Bölmelerin sisteme bağımlılıklarını ilan edebilmeleri ve bağımlılık enjeksiyon tarzında geçirilen fiili argümanlara (Bağlam denir) sahip olmalarıdır .
DI ile aşina olmayan ancak Drupal ile aşina olanlar için, bu, örneğin "menü yolundan başvurulan tek ve tek düğümü" elde etmek için bir daha asla menu_get_object kullanmanıza gerek kalmamasını sağlar. Ya yolda birden fazla düğüm varsa? Ya da bloğu bir varlık referansından bir düğüme dayandırmak mı istiyorsunuz? Bu, tüm yöneticileri (bölmeleri) çok daha esnek ve yeniden kullanılabilir kılan Sayfa yöneticisi ile sorun olmaz .
Paneller
En yaygın kullanım şeklidir ancak, üzerinde el etmektir düzeni ve render için, yolun Panelleri . Paneller, mizanpajı kodda veya doğrudan tarayıcıda tanımlamak için araçlar sağlar ve içeriği doğrudan tarayıcıya yerleştirmenize olanak tanır.
Sonuç
Bu modüllerin her ikisi de çok güçlü ve nispeten zayıf bir şekilde belgelenmiştir; Drupal tarafından 8 çekirdek içine gidiyor gibi, özellikle "sayfalar" yanı sıra düzeni, görünüşü ele onların yaklaşımı beri, nezaket daha büyük bir site inşa edilmiş olması halinde nasıl kullanılacağını anlamak ancak bunu değer EclipseGC 'ın SCOTCH girişimi . İlgili sanal alan projesi
daha fazla okuma
Bu araçlarla yapılabilecek diğer ilginç şeylere örnekler:
$page_data = page_manager_get_current_page()
özellikle para nerede$page_data['handler']
Drupal 7'de Sayfa Yöneticisi, Paneller modülünün temeli idi .
" Sayfa yöneticisini öğrenin " ilginç (ve şaşırtıcı) bir video grubudur. Paneller modülüyle ilgili çeşitli konular içerirler . İşte bu konuyla ilgili tüm video setinin bir özeti (yukarıdaki linkten alıntı):
- Sayfa yöneticisi, bağlamsal bilgileri esnek ve tutarlı bir şekilde toplamanızı ve yönetmenizi sağlar. Drupal web sitelerinde altyapının oluşturulmasının önemli bir parçasıdır ve bu modülü nasıl kullanacağınızı bilmelisiniz.
- Screencast serisi, deneyimli Drupal geliştiricilerini hedef almaktadır.
- Bölüm 1, 2 ve 3, özel sayfalar, değişkenler, seçim kuralları ve (bir dereceye kadar) bağlamsal nesneler gibi en temel kavramları tanıtır.
- 4., 5., 6. ve 7. Bölümler, Gösterim entegrasyonuna vurgu yaparak, aynı zamanda verimli önbellekleme üzerine bazı kelimeler olan Paneller hakkında konuşur.
- Erişim kontrolü, menü öğeleri ve az bilinen ancak çok kullanışlı İçerik Yönetimi modülü hakkında bölüm 8 ve 9.
- Bölüm 10 ve 11, Görünümleri bağlam olarak kullanma da dahil olmak üzere Sayfa yöneticisinde bağlamsal nesnelerin kullanımı hakkında daha fazla konuşuyor. Bu, sayfa yöneticisi içindeki asıl gücün olduğu yer.
- Bölüm 12 ve 13, düğüm düzenleme formunu kolayca yeniden düzenlemek için Panellerin nasıl kullanılacağı, alma / verme ayarları ve Sayfa yöneticisi ile kullanılabilecek bazı ekstra modüller gibi çeşitli bit ve parçaları toplar.
Bakın açıklanması Panelleri: Genel Bir Bakış Drupal Geliştiriciler için paneller modülü hakkında başka bir büyük açıklama için.
Drupal 8'de, Sayfa Yöneticisi ayrı bir modül haline geldi, eskiden (Drupal 7'ye kadar) CTools modülünün bir parçasıydı . İşte (D8 ile ilgili) proje sayfasından bazı alıntılar:
Yeni sayfaların oluşturulmasını destekler ve bu sayfaya blok yerleştirilmesine izin verir.
Drupal 7'nin Sayfa Yöneticisi gibi, her biri kendi seçim koşullarına sahip bir "sayfa varyantı" konsepti sunar.
Ek olarak, bir düğümü görüntülerken görüntülenenleri değiştirmek için geçersiz kılma / node /% gibi varolan bir sayfayı ele geçirmek için kullanılabilir.
Bu çekirdek kullanır
Conditions
,Context
veBlocks
bunu gerçekleştirmek için API'leri.