Web'de dolaştım ve özel menülerin nasıl teması gerektiği belli değil. Saatlere baktım ve baştan sona bir menü oluşturma ve çıktısını özelleştirme sürecini gösteren tek bir yazı bulamadım. Bu çok aşamalı bir süreç gibi görünüyor:
- Drupal arayüzü üzerinden menüyü oluşturun.
template.php
Çıktıyı temalamak için dosyanızda bir tema işlevi oluşturun .- Değişken olarak ekleyerek bu menüyü bir şablon dosyasına (her nasılsa) maruz bırakın.
theme
Şablon dosyasındaki menüdeki işlevi çağırın .
1 yapmak yeterince kolaydır, karşılaştığım problemler 2, 3 ve 4'tür. Varsayılan sayfa şablonuna baktığımda, değişkenin ana menüsünü ortaya çıkardığını görüyorum $main_menu
. Sayfanın ilerleyen saatlerinde işlevi görebilirsiniz theme('links__system_main_menu', array('links' => $main_menu...
, yani bir yerde uygun şekilde adlandırılmış bir tema işlevi arıyor ve çıktıyı oluşturmak için kullanıyor.
function theme_links__system_main_menu(&$variables) {...}
Drupal'ın template.php dosyama yerleştirip yerleştirmediğimi biliyorum function theme_menu_links(&$variables) {...}
.
Bilmediğim şey, Drupal'ın bu işlevle oluşturduğum özel menüyü nasıl bağladığı. Diyelim ki bir menü oluşturdum My Menu
. Dosyamda aşağıdaki işlevi oluşturabilir ve template.php
o menünün çıktısını temayabilir miyim?function theme_links__system_my_menu(&$variables) {...}
Ayrıca, bu özel menüyü şablon dosyası için nasıl kullanılabilir hale getirir? Drupal $main_menu
değişkeni page.tpl.php dosyasına nasıl maruz bırakır?
Ben düşünüyorum ben burada özlüyorum anahtar bir şablon sayfasına benim özel menü temsil değişkeni gömmek nasıl etmektir. Çoğunlukla menüyü oluşturduktan sonra ne yapacağımı tamamen kaybettim.
Yardım için teşekkürler.
EDIT: Muhtemelen ne yaptığımı göndermek gerekir. Aşağıdaki BetaRide yorumuma <li>
göre, menü öğelerinin öğelerine özelleştirilmiş HTML enjekte etmem gerekiyor . Özellikle Twitter Bootstrap simgeleri ekliyorum.