質問

DrupalのForm APIからのデフォルト出力は次のとおりです。

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

どのようにテーマを設定すれば取得できますか:

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

スライドドアCSSテクニックを使用できるように、内側のspanタグが必要です。

form.incからtheme_button($ element)をオーバーライドする必要があると思いますが、これまでの試みは失敗しました。

役に立ちましたか?

解決

プレーンなPHPテーマ(カメレオンなど)を使用している場合にform_fooをテーマ化する基本的な考え方は、theme_form_foo()という関数を記述することです。

特定のテーマ関数を宣言することで、このボタンなどの特定の要素にテーマを設定することもできます。 https://api.drupal.org/api/drupalをご覧ください。 /developer%21topics%21forms_api_reference.html/7

D6では、どちらの場合もテーマレジストリで関数を宣言する必要があります。そうしないと、Drupalはこのオーバーライドに気付かないでしょう。これはD5では必要ありません。 phptemplateを使用している場合は、PHPtemplateがフォームケース以外のレジストリを処理しますが、それも必要になります: http://drupal.org/node/132442#theme-registry

これに関するドキュメントはa.d.oで入手できます。 : http://api.drupal.org/api/file/developer/topics/forms_api.html

他のヒント

私は今、線に沿って機能を持っています

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

それを機能させるために、私は単純にキャッシュをクリアし、Drupalはそれを認識して自動的に使用しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top