6

[オーサリング情報公開オプション]セクションのすぐ下にあるノード編集フォームにカスタム構成領域を追加するにはどうすればよいですか?

4

2 に答える 2

14

hook_form_FORM_ID_alter()を使用できます 。以下の例:

function my_module_form_node_form_alter(&$form, $form_state) {
  // if you are targeting a specific content type then 
  // you can access the type:
  $type = $form['#node']->type;
  // Then
  if ($type == 'my_content_type') {
  //  use a contact settings for the sake of this example
   $form['contact'] = array(
    '#type' => 'fieldset', 
    '#title' => t('Contact settings'), 
    '#weight' => 100, 
    '#collapsible' => TRUE, 
    '#collapsed' => FALSE,
   );
   // add simple checkbox to the field set
   $form['contact']['approve'] = array(
     '#type' =>'checkbox', 
     '#title' => t('Contact me'),
   );
  } 
}

データの保存については、 examplesプロジェクトを参照することをお勧めします。多くのドキュメントを含む多くのコード例があります。また、さまざまな種類のフォーム要素の詳細については、フォーム APIを確認してください。お役に立てれば。

于 2012-11-25T02:41:31.807 に答える
4

次のコードは、添付画像の最後のメニューを生成します。

    $form['barclays_epdq'] = array(
        '#type' => 'fieldset',
        '#access' => TRUE,
        '#title' => 'Barclays ePDQ',
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
        '#group' => 'additional_settings',
        '#weight' => 100,
        'barclays_epdq_active' => array(
            '#type' => 'checkbox',
            '#title' => 'Enable this webform to send users to your Barclays ePDQ store to make a payment',
            '#default_value' => $active_state,
        ),
    );

ここに画像の説明を入力

ps: フォームは hook_form_alter にあります

于 2012-11-27T14:26:40.180 に答える