БлогМодуль jSlider Form API

Только что я закончил работу над портированием модуля jSlider Form API на D7. Модуль позволяет посредством Forms API Друпала добавить два числовых поля, между которыми появится слайдер из jQuery UI.

Ветка 6.х модуля зависит от модуля jQuery UI. Седьмая ветка, ввиду того, что jQuery UI вошло в ядро Друпала, ни от чего не зависит.

Работать с модулем предельно просто - достаточно включить его, и написать такой элемент формы:

$form['slider'] = array(
  '#type' => 'transfer_slider',
  '#title' => t('Slider test'),
  '#left_value' => 0,
  '#right_value' => 200,
  '#left' => t('Left text'),
  '#right' => t('Right text'),
  '#size' => 4,
);

В итоге получим вот такую форму (без сабмита):

jslider_form_api_screenshot.png

После нажатия на сабмит можно получить оба значения слайдера:

function example_form_submit($form, &$form_state) {
  $left_value   = $form_state['values']['slider']['left'];
  $right_value  = $form_state['values']['slider']['right'];
}

Как видите, всё проще некуда :)

О разработке и разработчиках

Идея модуля пришла в голову Роману Грачеву. Он написал модуль под шестёрку, и оказывается, он уже год как существовал (модуль, а не Рома). А ведь были пару сайтов, на которых он бы мне очень пригодился (снова модуль, хотя тут уже вопрос спорный). В общем, jSlider Form API мне понравился и Рома разрешил мне выкинуть модуль в паблик. Я слегка шлифанул код, добавил документацию - и явил разработку народу. На следующий день портировал его на Drupal 7.

Комментарии

Аватар пользователя pantey
pantey написал:

так и не получилось эт все дело под 6й запустить...Обидно(((. Поставил модули, скачал библиотеку...а куда вписывать этот код, для формы элемента, так и не понял...Я так понимаю, где то при создании новой формы его нужно куда то вписать???

10.01.2012 12:04
Аватар пользователя Spleshka
Spleshka написал:

Либо при создании новой формы, либо при изменении существующей. В любом месте, где применим Forms API

10.01.2012 13:32
Аватар пользователя Gen85
Gen85 написал:

Приведите, пожалуйста, пример практического использования данного модуля, лучше несколько, чтоб новички вроде меня нашли ему применение.

18.05.2012 12:05
Аватар пользователя Frantsuzzz
Frantsuzzz написал:
  '#title' => t('Slider test'),

Заголовок должен выводиться на форме?

05.09.2013 12:37

Комментировать