Создание, продвижение сайтов
компьютерная поддержка
53-02-63

Использование в формах элемента <button type="submit">

14 января 2017

Как уже писал ранее, в Form API доступны три вида кнопок:

<input type="submit" />
<input type="button" />
<input type="image" />

Если же в форме нужно использовать элемент <button type="submit">...</button>, то можно поступить так:

1. Определить шаблон button_button:

/**
 * Implements hook_theme().
 */
function THEMENAME_theme() {
  return array(
    'button_button' => array(
      'render element' => 'element',
    ),
  );
}
 
/**
 * Button theme function.
 * @see theme_button().
 */
function THEMENAME_button_button($variables) {
  $element = $variables['element'];
  $element['#attributes']['type'] = 'submit';
  element_set_attributes($element, array('id', 'name'));
 
  $element['#attributes']['class'][] = 'form-' . $element['#button_type'];
  if (!empty($element['#attributes']['disabled'])) {
    $element['#attributes']['class'][] = 'form-button-disabled';
  }
 
  return '<button' . drupal_attributes($element['#attributes']) . '>' . $element['#value'] . '</button>';
}

2. В форме добавить кнопке свойство '#theme_wrappers' => array('button_button'):

/**
 * Form builder.
 */
function mymodule_myform($form, &$form_state) {
  ...
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Add') . ' <span class="icon icon-add"></span>',
    '#theme_wrappers' => array('button_button'),
  );
  ...
}

Узнайте о нас больше:

Мы предлагаем широкий спект услуг по сайтам и компьютерной поддержке

Создание сайтов

Мы разрабатываем как простые сайты - визитки, так и индивидуальные проекты. Основная система разработки - CMS Drupal.

Узнать подробнее

Продвижение сайтов

Одно из основных направлений работы нашей компании - продвижение сайтов в Саратове и области. Мы поможем Вам с SEO - продвижением сайтов и настройкой и ведением контекстной рекламы в Яндекс Директ.

Бесплатная SEO-консультация

Компьтерная поддержка

Мы оказываем услуги компаниям и частным лицам в области настройки компьютерного оборудования:

  • Настройка роутеров и локальных сетей
  • Установка Windows
  • Оптимизация работы компьютеров
  • Лечение вирусов
  • Восстановление данных с жестких дисков
Узнать подробнее
Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности