БлогМодуль 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
Аватар пользователя SplasH
SplasH написал:

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

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

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

18.05.2012 12:05

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

                                                                     
88888888888 ad88888ba 88 ad88888ba ad888888b,
88 d8" "8b 88 d8" "8b d8" "88
88 Y8, 88 Y8a a8P a8P
88aaaaa `Y8aaaaa, 88 "Y8aaa8P" ,d8P"
88""""" `"""""8b, 88 ,d8"""8b, a8P"
88 `8b 88 d8" "8b a8P'
88 Y8a a8P 88, ,d88 Y8a a8P d8"
88 "Y88888P" "Y8888P" "Y88888P" 88888888888

Enter the code depicted in ASCII art style.