Frage

Die Standardausgabe von Drupal Formular API ist:

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

Wie ich Thema zu tun, das so erhalte ich:

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

Ich brauche die innere Spannweite-Tag, damit ich die Schiebetüren CSS-Technik verwendet werden.

Ich glaube, ich muss außer Kraft setzen theme_button ($ element) von form.inc aber meine Versuche haben bisher erfolglos geblieben.

War es hilfreich?

Lösung

Die Grundidee einer form_foo themeing, wenn Sie ein einfaches PHP Thema verwenden (wie Chameleon), ist eine Funktion namens theme_form_foo () zu schreiben.

Sie können auch Thema ein Element (wie dieser Knopf) insbesondere durch ein Thema Funktion nur für ihn zu erklären. Siehe https://api.drupal.org/api/drupal /developer%21topics%21forms_api_reference.html/7

Beachten Sie, dass mit D6, in beiden Fällen müssen Sie die Funktion in dem Thema Registry erklären, sonst Drupal wird diese Überschreibung nicht bemerkt. Dies ist nicht notwendig, in D5. Wenn Sie phptemplate verwenden, es werden Sie auch brauchen, obwohl PHPtemplate Pflege der Registrierung nimmt außerhalb der Formen Fall: http://drupal.org/node/132442#theme-registry

Die Dokumentation hierzu finden Sie auf a.d.o. : http://api.drupal.org/api/file/developer/topics/forms_api.html

Andere Tipps

Ich habe jetzt eine Funktion entlang der Linien von

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

Um ich einfach, damit es funktioniert gelöscht den Cache und Drupal bemerkt und verwendet es automatisch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top