Nasıl Drupal ben tema Form API düğmeleri do?

2 Cevap php

Drupal Form API varsayılan çıktı:

<input id="edit-submit" class="form-submit" type="submit" value="Save" name="op"/>

Nasıl bir tema yapmak yüzden olsun:

<button id="edit-submit" class="form-submit" type="submit">
  <span>Save</span>
</button>

Ben sürgülü kapılar CSS tekniği kullanabilirsiniz yüzden iç açıklık-etiket gerekir.

Ben form.inc dan ($ öğe) theme_button geçersiz kılmak gerekir ancak benim girişimleri şimdiye kadar başarısız olmuştur sanırım.

2 Cevap

Eğer (Chameleon) gibi bir düz PHP tema kullanarak eğer bir form_foo themeing için temel fikir, theme_form_foo adında bir function () yazmaktır.

You can Ayrıca tema sadece bunun için bir tema işlevi bildirerek, özellikle (bu düğme gibi) bir eleman. Bkz http://api.drupal.org/api/file/developer/topics/forms_api_reference.html#theme

D6 ile, her iki durumda da aksi Drupal bu kılma fark etmez, tema kayıt defterinde işlev bildirmek gerekir, unutmayın. Bu D5 gerekli değildir. Eğer phptemplate kullanıyorsanız PHPtemplate formları hal dışında kayıt önemser rağmen, siz, çok ihtiyacınız olacak: http://drupal.org/node/132442#theme-registry

Bunun için dokümantasyon a.d.o. mevcuttur : http://api.drupal.org/api/file/developer/topics/forms_api.html

Şimdi çizgisinde bir işlevi vardır

function mytheme_button($element) {
  return "<button><span></span></button>"; # lots of code missing here for clarity
}

O iş yapmak için ben sadece önbellek temizlenir ve Drupal fark ve otomatik olarak kullanılır.