Jump to content

Повторный заказ


Recommended Posts

Роман_DD

Кто-то делал у себя?

Поиском не нашел, неужели никому не надо было?

У мяня на Oscommerce с 2008 года стоит, как и autologin, чего тоже не наблюдаю, кроме одного платного модуля у nexoos. 

Link to post
Share on other sites
1 час назад, Роман_DD сказал:

Кто-то делал у себя?

Поиском не нашел, неужели никому не надо было?

У мяня на Oscommerce с 2008 года стоит, как и autologin, чего тоже не наблюдаю, кроме одного платного модуля у nexoos. 

А что за повторный заказ?

Это например в аккаунте покупателя напротив когда-то сделанного заказа кнопка типа - повторить заказ!?

и создаётся точно такой же новый заказ в админке!?

Link to post
Share on other sites
Роман_DD

Вот рабочий код из oscommerce:

account_history_info.tpl.php
 
// reorder code

echo tep_draw_form('order_reorder', tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $_GET['order_id'] . '&action=reorder'));
echo '<td valign="middle" align="center">' . tep_template_image_submit('button_order_this_again.gif', 'Re-Order') . '</td>';
echo '</form>';

 
application top
  case 'reorder' : $reorder_result = tep_reorder($_GET['order_id']);
if ($reorder_result == '') {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING));
}
break;  
 
 
/fuctions/general.php
 
 function tep_reorder ($orders_id) {

 global $cart, $languages_id;

$result = '';
$ordered_products_query = tep_db_query("select op.products_id,
op.orders_products_id,
op.products_quantity,
p.products_status,
p.products_model,
p.products_quantity as stock,
pd.products_name
from " . TABLE_ORDERS_PRODUCTS . " op, " .
TABLE_PRODUCTS . " p, " .
TABLE_PRODUCTS_DESCRIPTION . " pd
where op.orders_id = '" . $orders_id . "' and
op.products_id = p.products_id and
p.products_id = pd.products_id and
pd.language_id = '" . $languages_id . "'");

while ($ordered_product = tep_db_fetch_array($ordered_products_query)) {
  if ($ordered_product['products_status'] == '1') {
  if (!tep_has_product_attributes($ordered_product['products_id'])) {
if ($ordered_product['stock'] >= ($cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity'])) {
  $cart->add_cart($ordered_product['products_id'], $cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity']);
} else {
$result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock<br>';
}
  } else {
  $attributes = array();
  $attributes_count = 0;
  $attributes_query = tep_db_query("select po.products_options_id ,
pov.products_options_values_id
from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " opa,
" . TABLE_PRODUCTS_OPTIONS . " po,
" . TABLE_PRODUCTS_OPTIONS_VALUES . " pov,
" . TABLE_PRODUCTS_ATTRIBUTES . " pa
where opa.orders_id = '" . $orders_id . "' and
opa.orders_products_id = '" . $ordered_product['orders_products_id'] . "' and
po.products_options_name = opa.products_options and
po.language_id = '" . $languages_id . "' and
pa.options_id =  po.products_options_id and
pa.options_values_id = pov.products_options_values_id and
pa.products_id = '" . $ordered_product['products_id'] . "' and
pov.products_options_values_name = opa.products_options_values and
pov.language_id = '" . $languages_id . "'");

  while ($attribute = tep_db_fetch_array($attributes_query)) {
$attributes[$attribute['products_options_id']] = $attribute['products_options_values_id'];
$attributes_count++;
  }

if ($attributes_count < 1) {
$result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Attributes changed<br>';
 }

if ($ordered_product['stock'] >= ($cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'])) {
$cart->add_cart($ordered_product['products_id'], $cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'], $attributes);
} else {
$result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock (attr)<br>';
 }
  }
  } else {
 $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not Available<br>';
  }
}
return $result;
}
Link to post
Share on other sites

 

12 минут назад, Роман_DD сказал:

Вот рабочий код из oscommerce:

 

Спасибо за код.

Он конечно явно недостаточный, например уведомлений нет, ни по sms, на на email, но как основа - пойдёт.

 

Link to post
Share on other sites
Роман_DD
20 минут назад, support сказал:

 

Спасибо за код.

Он конечно явно недостаточный, например уведомлений нет, ни по sms, на на email, но как основа - пойдёт.

 

А зачем уведомления, если человек сам себе заказ переоформляет? Аааа , ну да, ну в админке он будет, а уведомления можно скопировать из любого другого кода. Просто мне оно не надо, все в 1с выгружается.

Link to post
Share on other sites
51 минуту назад, Роман_DD сказал:

А зачем уведомления, если человек сам себе заказ переоформляет? Аааа , ну да, ну в админке он будет, а уведомления можно скопировать из любого другого кода. Просто мне оно не надо, все в 1с выгружается.

Ну да, это уже по ходу дела посмотрим, как улучшить, основа есть.

Спасибо.

Link to post
Share on other sites
  • 2 months later...
В 06.12.2019 в 16:41, support сказал:

Спасибо за код.

Он конечно явно недостаточный, например уведомлений нет, ни по sms, на на email, но как основа - пойдёт.

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

Т.е. человек против любого старого заказа нажимает "повторить" и товар уже в корзине.

Для периодических покупок надо.

Link to post
Share on other sites
2 часа назад, EdZa сказал:

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

Т.е. человек против любого старого заказа нажимает "повторить" и товар уже в корзине.

Для периодических покупок надо.

В следующих версиях думаю появится.

Сочетание автологина + повторного заказа, по идее, должно быть удобным.

 

Link to post
Share on other sites
  • 1 month later...
support

Да, всё зафиксировано в пожеланиях, не потеряется.

Но пока не реализовано.

 

Link to post
Share on other sites
  • 2 months later...

Всем привет. Вот Я не согласен по поводу уведомлений.

Клиент зашел, нажал - повторить заказ.

И все.  Заказ создан. И заказ потерялся.

Только админ в админке видит. Уведомления должны быть как и при оформлении нового заказа - это по сути и есть новый заказ, пусть и повторный. 

Link to post
Share on other sites
support
1 минуту назад, Gaban сказал:

Всем привет. Вот Я не согласен по поводу уведомлений.

Клиент зашел, нажал - повторить заказ.

И все.  Заказ создан. И заказ потерялся.

Только админ в админке видит. Уведомления должны быть как и при оформлении нового заказа - это по сути и есть новый заказ, пусть и повторный. 

Да, в будущих обновлениях модуль будет допилен, в том числе будут и уведомления.

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

Link to post
Share on other sites
×
×
  • Create New...