Menu_block kullanırken Drupal şekillendirme için sınıfları nasıl eklenir?

3 Cevap php

Benim menüler için Drupal menu_block modülünü kullanıyorum. Bu çok iyi çalışıyor, ama benim menü öğeleri bir görüntü menü gibi tarz istiyorum. Bu varsayılan ayarları ile güzel yapılamaz - menü öğeleri, bu gibi görünmelidir:

<li class="leaf first menu-mlid-199"><a href="/this/is/some/nice/url" title="Homepage">Homepage</a></li>

Ben her menü öğesi benzersiz bir kimliği var, çünkü ben istiyorum stil almak için menü mlid-199 sınıf kullanmış olabilir tahmin ediyorum, ama bu benim için oldukça çirkin görünüyor. Örneğin, benim menü öğeleri makul adlı sınıfları eklemek için başka bir yolu var mı sayfa başlığı veya url takma onları üretir? Hatta sadece bir dizi daha güzel görünüyor - böylece menü öğesi-1 ve benzeri.

3 Cevap

Soru (aşağıya bakınız) ulaşmak istediğiniz işlevsellik tür benim için net% 100 değildir bilmek istediğiniz ne hakkında çok açık iken. Ben sadece bu modül ne gerek herhangi yakın giderse durumda, image menu module bahsederek başlamak için düşündüm. Diğer bir alternatif, aynı zamanda menu icons modülü olabilir. Benzer sorunları diğer özel çözüm tartışıldı here.

Bildiğim kadarıyla menü öğeleri sınıf sıfat değiştirme gibi: sınıflar menü öğesi by theme_menu_item() atfedilir. Sen sadece kendi tema o işlevi geçersiz olabilir. Themeable işlevlerini geçersiz kılmak için nasıl bir açıklama official drupal documentation verilmiştir.

Bir hat değişti

menu_block.module in:

(639) $ extra_class [] = 'menu-mlid-'. $ Ürün [$ key] ['bağlantı'] ['mlid'];

içine

$ Extra_class [] = 'menu-href-'. str_replace ('/', '-', $ ürün [$ key] ['bağlantı'] ['href']);

ve benim için, (Ben genellikle bilmiyorum) MLID kullanmaz Tamam çalışır, ama (ben biliyorum) yolu

Modül çıkışı theming, her zaman modül dizininde bulunmaktadır. Tpl.php dosyalarına bakmak. Bu durumda. Tpl.php dosya menüsü-blok-wrapper.tpl.php olduğunu. Eğer kullandığınız temanın klasörüne Anlaşıldı ve gerektiği gibi adapte.

Ayrıca modül paketin içerdiği README.txt dosyasında menü blokları şekillendirme bazı iyi bilgi var.

Pratik HTML Drupal çıkışların her parça themeable, yani tema ve nasıl menü öğeleri listesini yazdırır işlevi geçersiz kadar okuyun. Eğer Devel modülünü yüklerseniz fonksiyonları bu listeyi oluşturabilirsiniz görebilirsiniz. Daha sonra bu öğelere ek dersler veya id atamak sizin kadar istediğiniz gibi CSS ile tema onları böylece.

İyi şanslar!