Форма добавления товаров в корзину

Главные вкладки

Аватар пользователя catran catran 15 марта 2012 в 11:05

Всем привет. Хочется в форму добавления товара вместо текстового поля количества вставить select с options {1,2,3...ОстатокТовара}
1) Так вот хочется знатоков спросить на сколько красивым будет способ добавления в hook_form_alter, в котором $form_id = {commerce_cart_add_to_cart_form_1,commerce_cart_add_to_cart_form_2 и т.д.} определять id нужной формы по первым 30 символам "commerce_cart_add_to_cart_form"?
2) И как правильно будет, заменить текстовое поле quantity на select, или же добавить новое поле и прописать свою функцию submit раньше основной и подставлять из select значение в поле quantity?

Комментарии

Аватар пользователя Koreychenko Koreychenko 20 августа 2012 в 12:42

Можно делать чуть хитрее и проще.

Вариант 1.

1. Добавляете дополнительный select также как вы написали в п.1. Определяете id формы и просто добавляете дополнительное поле.
2. Никаких дополнительных submit на него вешать не нужно.
3. С помощью CSS скрываете поле Quantity.
4. С помощью Javascript вешаете событие на изменение вашего добавленного поля Select и подставляете выбранное значение в Quantity.

Вариант 2. Извращенский.

1. Добавляете элемент Select и к нему AJAX-callback, который перестраивает форму с заполненным значением Quantity, равным выбранному элементу.

Но я бы пошел 1 путем, так делают практически все javascript украшательства.