Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля
Новогодние скидки до 25%!
Подробнее

Как в модуле магазина сделать новые поля в форме заказа

Страницы: 1  |  2  |  3
27.03.2007, 13:08
Гость
Гость

Здравствуйте.
Требуется, чтобы в форме оформления заказа пользователь мог выбрать радиокнопками некоторые дополнительные параметры заказа:

Срочность заказа
• Срочный
• Обычный

Вид упаковки
• Обычная, бесплатно
• Непрозрачная, бесплатно
• Подарочная, 150 руб

аналогично полям Способ оплаты и Способ доставки.

Как завести эти поля?
В руководстве разработчика не нашёл ответов...
27.03.2007, 14:43
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

нужно создать два новых списка,
а в шаблоне товаров добавить два новых поля с типом Список
в форме оформления заказа добавить вызов новых полей в нужном вам оформлении, а именно радио кнопками
с помощью этой функции (nc_list_select)
17.05.2007, 23:22
Гость
Гость

h/z писал(а):
в нужном вам оформлении, а именно радио кнопками
с помощью этой функции (nc_list_select)

А можно немного поподробнее?
Как его переопределить?
18.05.2007, 13:56
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

в альтернативной форме добавления
руководство разработчика стр 99

Цитата:
Функция nc_list_select($classificator_name, $field_name = NULL, $current_value = NULL, $sort_type = NULL, $sort_direction = NULL, $template_prefix = NULL, $template_object = NULL, $template_suffix = NULL, $template_any = NULL)

Данная функция позволяет генерировать HTML списки из Списков NetCat. В большинстве случаев она применяется в альтернативных формах шаблона, чтобы вывести информацию о поле типа Список.

• $classificator_name – имя списка, например, Gallery, обязательный параметр;
• $field_name – название поля в шаблоне (без префикса f_, например, Field);
• $current_value – выбранный элемент списка (например, $f_FieldID, если мы используем фунцию в альтернативной форме добавления/изменения);
• $sort_type – поле сортировки, необязательный параметр (не указан – ID, 1 – имя, 2 - приоритет);
• $sort_direction - порядок сортировки, необязательный параметр (не указан – восходящий, 1 - нисходящий);
• $template_prefix – темплейт префикса списка, необязательный параметр (не указан - "<select name='f_$field_name'>rn”), ;
• $template_object – темплейт элемента списка, необязательный параметр (не указан - “<option value='${value_id}' ${value_selected}>${value_name}</option>”);
• $template_suffix – темплейт суффикса списка, необазательный параметр (не указан - "</select>rn”);
• $template_any – темпелейт для первого нулевого элемента списка, если поле может быть пустым (не указан - <option value=’’>--выбрать--</option>).

Не забывайте экранировать кавычки!

Поле $template_prefix имеет «константу». Переменная, а точнее запись вида «$field_name», автоматически заменится на указанный в вызове функции параметр $field_name.

Поле $template_object имеет 3 «константы»: «$value_id», «$value_selected» и «$value_name», которые отвечают за подстановку ID, выбранной записи и название элемента.

Пример использования:
".nc_list_select("Gallery", "GalleryName", $f_GalleryName_id,"",1, "<select name='f_$field_name'>", "<OPTION value='$value_id' $value_selected>$value_name</OPTION>")."

Данный пример сгенерирует код для отображения поля GalleryName из шаблона , которое использует список Gallery. Сортировка по ID нисходящая. Имеется 3 темплейта: префикс, элемент списка и суффикс. Темпелейт для первого нулевого элемента списка (если поле является необязательным для заполнения) будет использован по умолчанию из функции.
18.05.2007, 14:48
Гость
Гость

Я наверное туплю, но все равно не понятно как сделать из списка радиокнопки.
18.05.2007, 14:54
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

nc_list_select($classificator_name, $field_name, $current_value, NULL, NULL, " ", "<input type=radio name='f_$field_name' value='$value_id'> $value_name", " ", " ")

что-то типа этого
18.05.2007, 16:06
Гость
Гость

h/z писал(а):

что-то типа этого

Не получается.
Во первых слева от радиокнопок вылезает начало списка.
И второе, в каком виде писать вот сюда
h/z писал(а):
<input type=radio name='f_$field_name' value='$value_id'> $value_name", " ", " ")

18.05.2007, 17:35
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

в очередной раз обращаемся к руководству

Цитата:
Поле $template_prefix имеет «константу». Переменная, а точнее запись вида «$field_name», автоматически заменится на указанный в вызове функции параметр $field_name.

Поле $template_object имеет 3 «константы»: «$value_id», «$value_selected» и «$value_name», которые отвечают за подстановку ID, выбранной записи и название элемента.


как пример:
Код:
".nc_list_select("Gallery", "GalleryName", $f_GalleryName_id, NULL, NULL, " ", "<input type=radio name='f_$field_name' value='$value_id'> $value_name", " ", " ")."
19.05.2007, 12:19
Гость
Гость

h/z писал(а):

Код:
".nc_list_select("Gallery", "GalleryName", $f_GalleryName_id, NULL, NULL, "пробел", "<input type=radio name='f_$field_name' value='$value_id'> $value_name", " ", " ")."

У меня было ровно то же самое, только пробел не стоял. Были только кавычки ( "" ).
19.05.2007, 12:23
Гость
Гость

Спасибо за помощь.
21.05.2007, 18:57
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

просто кавычки приравнивается к false, в этом случае срабатывают внутренние шаблоны, а вам нужно было именно перезаписать шаблон выводящий начало и конец списка select
198 196 2007-05-25 18:38:46 10004
Страницы: 1  |  2  |  3
Описание проекта