1

検索フォームの動作を決定する関数を変更する必要があります。テキストを「検索」ではなく「GO」にし、入力タイプをテキストではなく検索にしたい。

今、すでに search.module を編集してそれを行っていますが、もっと便利な方法はありますか? Drupalのインストールから他のファイルを編集する必要がないように、テーマを1つのパッケージですぐに使えるようにしたい.

Drupal v.7.16用です

ありがとうございました!

4

2 に答える 2

3

テーマの template.php で、MYTHEME_form_alter を実装することにより、検索フォームの任意の部分をオーバーライドできます。

あなたの例では、次のようになります。

function MYTHEME_form_alter(&$form, &$form_state, $form_id) {
    if ($form_id == 'search_block_form') {
        // Change form submit text
        $form['actions']['submit']['#value'] = t('GO!');

        // Change type to 'search'
        $form['search_block_form']['#type'] = 'search';
    }
}
于 2012-10-29T01:38:36.120 に答える
2

Tanis のソリューションの背景情報については、hook_form_alter()およびhook_form_FORM_ID_alter( ) の API ドキュメントを参照してください。

于 2012-10-29T17:43:15.017 に答える