« Better Formatsモジュールを翻訳 | トップページ | twitterを始めました »

hook_form_alterで追加したfieldsetの位置をCCKで変更可能にする

モジュールを作成している際、特定のコンテンツタイプだけの入力フォームを追加したりすることはままあるわけですが、hook_form_alterでfieldsetを追加しただけだと、その位置は固定されてしまってどうにも使いづらかったりします。そんなとき、CCKが用意しているhookを使用すると、コンテンツタイプの編集画面でfieldsetの位置を変更できるようになります。

function MODULENAME_content_extra_fields($type_name) {
$extra = array();

$extra['FIELDSETNAME'] = array(
'label' => 'Label for this fieldset',
'description' => 'Description for this fieldset.',
'weight' => 5
);

return $extra;
}

とまあこんな具合ですね。CCKやViewsはほぼ必須のモジュールと言っても過言ではないので、それらが用意しているhookも有効に活用したいところです。

|

« Better Formatsモジュールを翻訳 | トップページ | twitterを始めました »

Drupal」カテゴリの記事

コメント

> hook_form_alterでfieldsetを追加しただけだと、その位置は固定されてしまって

とありますが、hook_form_alter で要素の順序を変更できると思いますよ。'#weight' キーを使って。

僕の fieldset の認識が間違っていたらごめんなさい。

投稿: Satoshi | 2009/11/09 20:17

コメントありがとうございます。

> hook_form_alter で要素の順序を変更できると思いますよ。'#weight' キーを使って。

'#weight' で順序を指定できるのですが、その順序を変更しようと思うとコードをいじらないといけませんよね?

CCK の hook を使用していれば、コードをいじらずにブラウザ上で変更できるので便利なのです。

投稿: PineRay | 2009/11/10 06:53

なるほど。そういう意味でしたか。読解力不足でした。

私の場合、ブラウザでいじるよりもコードいじる方が早くて楽なので、思いつきませんでした。

挨拶が遅れましたが、いつも翻訳とか利用させていただいております。今後ともよろしくお願いいたします。

投稿: Satoshi | 2009/11/10 07:39

言葉足らずで伝わりにくいとよく言われます。
ともあれ、こちらこそ今後ともよろしくお願いします。

投稿: PineRay | 2009/11/10 14:10

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: hook_form_alterで追加したfieldsetの位置をCCKで変更可能にする:

« Better Formatsモジュールを翻訳 | トップページ | twitterを始めました »