2

Drupal のフォーム 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-tag が必要です。

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

4

2 に答える 2

4

プレーンな PHP テーマ (Chameleon など) を使用している場合に 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

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

于 2008-11-07T07:49:47.230 に答える
3

私は今、次のような機能を持っています

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

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

于 2008-11-07T09:42:47.080 に答える