it-swarm.asia

عناصر الشكل الأفقي

لقد وصفت النموذج ، ولكن كل عنصر موجود تحت العنصر السابق. أحتاج إلى وصف النموذج حيث سيتم وضع جميع العناصر أفقيًا وليس عموديًا. هذا هو النموذج الخاص بي:

function contact_register_form($form, &$form_state) {
  $form['description'] = array(
    '#type' => 'item',
    '#title' => t('Sign up to be notified when your community launches:'),
  );

  $form['email'] = array(
    '#type' => 'textfield',
    '#title' => t('Email'),
  );

  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Add me',
  );    

  return $form;
}
12
RomanBadiornyi

يمكنك استخدام رمز مشابه للرمز التالي ، تستخدمه الوحدة النمطية Node في node_filter_form() .

  // Build the 'Update options' form.
  $form['options'] = array(
    '#type' => 'fieldset', 
    '#title' => t('Update options'), 
    '#attributes' => array('class' => array('container-inline')), 
    '#access' => $admin_access,
  );

  // ...

  $form['options']['operation'] = array(
    '#type' => 'select', 
    '#title' => t('Operation'), 
    '#title_display' => 'invisible', 
    '#options' => $options, 
    '#default_value' => 'approve',
  );

المفتاح هو إعدادات الخط السمة "#attributes" إلى "الحاوية المضمنة".

هذا الرمز مخصص لـ Drupal 7 ؛ يبدأ الرمز المكافئ لـ Drupal 6 بالرمز التالي:

  $form['options'] = array(
    '#type' => 'fieldset', 
    '#title' => t('Update options'), 
    '#prefix' => '<div class="container-inline">', 
    '#suffix' => '</div>',
  );

لنفترض أنك تستخدم Drupal 6 ، فيجب تغيير الشفرة إلى شيء مشابه لما يلي:

function contact_register_form($form, &$form_state) {
  $form['description'] = array(
    '#type' => 'item',
    '#title' => t('Sign up to be notified when your community launches:'),
  );

  $form['email'] = array(
    '#type' => 'textfield',
    '#title' => t('Email'),
    '#prefix' => '<div class="container-inline">', 
  );

  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Add me',
    '#suffix' => '</div>',
  );    

  return $form;
}

لم أضع الوصف في السطر ، لأنه لن يتم تقديمه بشكل صحيح لأنه يستخدم حقل نموذج "عنصر". أجد أيضًا أن تضمين الوصف سيؤدي إلى أن يأخذ النموذج مساحة كبيرة جدًا. (تخيل ما سيحدث إذا كان الوصف المضمن أطول ، وسيتم وضعه في سطر واحد.)

فيما يلي أنماط CSS التي يضيفها Drupal 7 إلى العناصر المضمنة في الحاوية.

/**
 * Inline items.
 */
.container-inline div,
.container-inline label {
  display: inline;
}
/* Fieldset contents always need to be rendered as block. */
.container-inline .fieldset-wrapper {
  display: block;
}

يتم إضافتها من system.base.css .

17
kiamlaluno