Как создать пользовательские поля при оформлении заказа в osCommerce?

Пользователь

от nikita.harvey , в категории: Интернет , год назад

Как создать пользовательские поля при оформлении заказа в osCommerce?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от millie , 10 месяцев назад

@nikita.harvey 

Для создания пользовательских полей при оформлении заказа в osCommerce, вам потребуется внести изменения в код и добавить соответствующие поля в базу данных.


Вот шаги, которые необходимо выполнить:

  1. Откройте файл checkout_payment.php в папке catalog/includes/modules/checkout/. Вставьте следующий код перед строкой $payment_modules = new $payment_class0;
1
2
3
4
// Добавляем пользовательское поле
if (isset($_POST['custom_field'])) {
    $order->info['custom_field'] = $_POST['custom_field'];
}


  1. Откройте файл checkout_payment.php в папке catalog/includes/modules/checkout/. Вставьте следующий код перед строкой $payment_modules = new $payment_class0;
1
2
3
4
// Добавляем пользовательское поле
if (isset($_POST['custom_field'])) {
    $order->info['custom_field'] = $_POST['custom_field'];
}


  1. Откройте файл checkout_process.php в папке catalog/includes/modules/checkout/. Вставьте следующий код перед строкой $order_totals->collect($order);
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// Добавляем пользовательское поле в базу данных
if (isset($order->info['custom_field'])) {
    $sql_data_array = array('orders_id' => $insert_id,
                            'title' => 'Custom Field',
                            'text' => $order->info['custom_field'],
                            'value' => $order->info['custom_field'],
                            'class' => 'ot_custom_field',
                            'sort_order' => '1');
    tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
}


  1. Откройте файл checkout_success.php в папке catalog/includes/modules/checkout/. Вставьте следующий код перед строкой require(DIR_WS_INCLUDES . 'application_bottom.php');
1
2
3
4
5
6
7
8
// Отображаем пользовательское поле на странице Подтверждение заказа
$order_id = $insert_id;
$custom_field_query = tep_db_query("SELECT * FROM " . TABLE_ORDERS_TOTAL . " WHERE orders_id = '" . (int)$order_id . "' AND title = 'Custom Field'");
$custom_field = tep_db_fetch_array($custom_field_query);

if (!empty($custom_field)) {
    echo 'Custom Field: ' . $custom_field['value'] . '';
}


  1. Откройте базу данных, найдите таблицу orders_total и добавьте новое поле с именем custom_field. Установите тип данных на VARCHAR(255).


Теперь, при оформлении заказа, на странице оформления заказа будет отображаться дополнительное поле, куда пользователь сможет ввести дополнительную информацию. Эта информация будет сохранена в базе данных и отображена на странице подтверждения заказа.