Ошибка 404 при отправке заказа в UBERCART [РЕШЕНО]

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

Аватар пользователя staryi@drupal.org staryi@drupal.org 26 мая 2009 в 9:41

Если кто знает суть проблемы помогите.

При отправке заказа вылазиет ошибка 404 (страница не найдена) хотя в списке заказов он появляется, после где то минутного зависания, проблема методом научного тыка вроде бы свелась к модулю Notify, если его отключаешь, то заказ нормально походит по сайту и выдается его номер, но естественно не приходит на почту, а это очень важно.

ps. Проблема произошля непонятно почему, на сайте только добавлялись товары (сам сайт http://www.gold-drakon.ru), он не обновлялся, последний месяц, в общем проблема возникла сама собой.

Комментарии

Аватар пользователя glu2006 glu2006 26 мая 2009 в 17:54

Само собой ничего не возникает. Уберкарт отправляет письма без модуля Notify используя стандартный drupal_mail().

Аватар пользователя staryi@drupal.org staryi@drupal.org 27 мая 2009 в 3:59

Как это он отправляет без Notify ? то есть если я его отключу, то письма будут доходить ? Но это же явно не так, вот то что notify использует drupal_mail(), вот это похоже на правду. Но проблема сохраняется до сих пор.
Никто больше не может помочь ?

Аватар пользователя glu2006 glu2006 27 мая 2009 в 9:14

<a href="mailto:staryi@drupal.org">staryi@drupal.org</a> wrote:
Как это он отправляет без Notify ? то есть если я его отключу, то письма будут доходить ? Но это же явно не так, вот то что notify использует drupal_mail(), вот это похоже на правду. Но проблема сохраняется до сих пор.
Никто больше не может помочь ?

А как по вашему отправляются уведомления о регистрации друпала из коробки? Никакого модуля Notify там нет. Я Вам объясняю еще раз в ядре друпала есть стандартная функция drupal_mail() вот ее и использует уберкарт. Прежде чем сравнивать похожесть правд, следует посмотреть в код ubercart, смотрим функцию

<?php
function uc_order_mail_invoice_form_submit($form_id$form_values) {
  
$order uc_order_load($form_values['order_id']);

  if (

$order === FALSE) {
    
drupal_set_message(t('Order order_id does not exist.', array('order_id=> $order_id)));
    
drupal_goto('admin/store/orders');
  }

  

$output uc_order_load_invoice($order'admin-mail'variable_get('uc_cust_order_invoice_template''customer'));
  
$recipient check_plain($form_values['email']);

  

$sent drupal_mail('invoice'$recipientt('Your Order Invoice'), $outputuc_store_email_from(), array('Content-Type' => 'text/html; charset=UTF-8; format=flowed'));

  if (!

$sent) {
    
drupal_set_message(t('E-mail failed.'));
  }
  else {
    
$message t('Invoice e-mailed to email.', array('email=> $recipient));
    
drupal_set_message($message);
    
uc_order_log_changes($order->order_id, array($message));
  }
}
?>

и, О чудо!!!!! никакой модуль Notify не нужен.

Это просто пример в первой попавшейся под руку функции из uc_order.module и все функции уведомлений в уберкарте работают именно через друпал маил а не через сторонний модуль отправки сообщений.

ЗЫ. Учить мат.часть.