Multimerch 8 не отправляет уведомление о заказе продавцу при сторонней оформлении заказаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Multimerch 8 не отправляет уведомление о заказе продавцу при сторонней оформлении заказа

Сообщение Anonymous »

Я использую multitmerch 8 в opencart 2.3.0.2 с журналом 2 для своего мультивендорного магазина. Недавно я установил лучшее расширение ajax для оформления заказа от xtension.in. При оформлении заказа все выглядит нормально, но я заметил, что продавцы больше не получают уведомления о своих заказах на товары по электронной почте, поскольку раньше уведомления получали только покупатели и администратор.

Я считаю, что расширение внесло некоторые коррективы. изменения в файлах оформления заказа. Я не эксперт в Opencart. Пожалуйста, мне нужна помощь, как восстановить уведомление продавца.

Я вижу следующую ошибку в журнале:

Undefined index: seller_text in /home/public_html/vqmod/vqcache/vq2-system_storage_modification_catalog_view_theme_journal2_template_mail_order.tpl on line 93


Спасибо

Ниже приведен код контроллера xtension в \catalog\controller\extension\module\ xtensions\checkout\checkout.php





Два файла multimerch vqmods (я не уверен, какой из них здесь применим)
multimerch_core.xml




MultiMerch Digital Multivendor Marketplace Core
http://multimerch.com/




$this->registry = $registry;


$this->registry->set('MsLoader', \MsLoader::getInstance()->setRegistry($registry));
$this->registry->set('ms_events', new \MultiMerch\Event\EventCollection());
$this->registry->set('ms_event_manager', new \MultiMerch\Event\EventManager());
$this->registry->set('MsHooks', new \MultiMerch\Core\Hook());
$this->registry->set('MsEventManager', new \MultiMerch\Core\Event\EventManager());
$this->registry->set('ms_logger', new \MultiMerch\Logger\Logger());







has('action_pre_action')) {
]]>
get('db')->query("SELECT `value` FROM " . DB_PREFIX . "setting WHERE store_id = '0' AND `key`='msconf_config_seo_url_enable'");
$pre_actions = $config->get('action_pre_action');
foreach ($pre_actions as $key => $pre_action) {
if($pre_action == 'startup/seo_url' && $res->num_rows && $res->row['value'])
$pre_actions[$key] = 'startup/multimerch_seo_url';
}
$config->set('action_pre_action', $pre_actions);
]]>




get('MsEventManager')->setRegistry($registry);
$registry->get('MsHooks')->setRegistry($registry);
$registry->get('MsHooks')->registerDefaultHooks();
]]>






getRegistry()->get($key);
}

public function __set($key, $value) {
\MsLoader::getInstance()->getRegistry()->set($key, $value);
}
]]>











getRegistry()->get('config')->get('config_currency');
]]>




getRegistry()->get('config')->get('config_currency');
]]>








currencies[$currency])) {]]>
getRegistry()->get('config')->get('config_currency');
]]>















]]>
MsHelper->isInstalled()) { ?>
if (!window.console) console = {log: function() {}}; var msconf_account_pagination_limit = ''; var config_language = ; var msLanguageDefaults = { ms_account_product_shipping_elsewhere: ""}

]]>







MsHelper->isInstalled()) {
$data = array_merge(MsLoader::getInstance()->getRegistry()->get('load')->language('multiseller/multiseller'), isset($data) ? $data : array());

MsLoader::getInstance()->MsHelper->addStyle('multiseller');

// note: renamed catalog
$lang = "view/javascript/multimerch/datatables/lang/" . $this->config->get('config_language') . ".lng";
$data['dt_language'] = file_exists(DIR_APPLICATION . $lang) ? "'catalog/$lang'" : "undefined";

// Add complemented common.js
$this->document->addScript('catalog/view/javascript/ms-common.js');

$data['ms_seller_created'] = MsLoader::getInstance()->MsSeller->isCustomerSeller($this->customer->getId());
}
]]>






db->query("SELECT o.order_id, o.firstname, o.lastname, os.name as status, o.date_added, o.total, o.currency_code, o.currency_value FROM `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_status os ON (o.order_status_id = os.order_status_id) WHERE o.customer_id = '" . (int)$this->customer->getId() . "' AND o.order_status_id > '0' AND o.store_id = '" . (int)$this->config->get('config_store_id') . "' AND os.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.order_id DESC LIMIT " . (int)$start . "," . (int)$limit);
]]>
MsHelper->isInstalled()) {
$query = $this->db->query("SELECT o.order_id, o.firstname, o.lastname, os.name as status, os.order_status_id, o.date_added, o.total, o.currency_code, o.currency_value FROM `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_status os ON (o.order_status_id = os.order_status_id) WHERE o.customer_id = '" . (int)$this->customer->getId() . "' AND o.order_status_id > '0' AND o.store_id = '" . (int)$this->config->get('config_store_id') . "' AND os.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.order_id DESC LIMIT " . (int)$start . "," . (int)$limit);
} else {
$query = $this->db->query("SELECT o.order_id, o.firstname, o.lastname, os.name as status, o.date_added, o.total, o.currency_code, o.currency_value FROM `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_status os ON (o.order_status_id = os.order_status_id) WHERE o.customer_id = '" . (int)$this->customer->getId() . "' AND o.order_status_id > '0' AND o.store_id = '" . (int)$this->config->get('config_store_id') . "' AND os.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.order_id DESC LIMIT " . (int)$start . "," . (int)$limit);
}
]]>






db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id > '0'");
]]>
MsHelper->isInstalled()) {
if (empty($type)) {
$order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id > '0'");
} elseif($type == 'seller') {
$order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` AS o, `" . DB_PREFIX . "ms_order_product_data` AS m WHERE o.order_id = m.order_id AND o.order_id = " . (int)$order_id . " AND m.seller_id = " . (int)$this->customer->getId() . " AND o.order_status_id > '0'");
}
} else {
$order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id > '0'");
}
]]>


db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");
]]>
MsHelper->isInstalled()) {
$query = $this->db->query("SELECT op.*, opd.* FROM " . DB_PREFIX . "order_product op LEFT JOIN " . DB_PREFIX . "ms_order_product_data opd ON (op.order_id = opd.order_id AND op.product_id = opd.product_id AND op.order_product_id = opd.order_product_id) WHERE op.order_id = '" . (int)$order_id . "'");
if(empty($query->rows)) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");
}
} else {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");
}
]]>






MsHelper->isInstalled()) {
$ms_order_product_data = $this->MsLoader->MsOrderData->getOrderData(array(
'product_id' => $product['product_id'],
'order_id' => $product['order_id'],
'order_product_id' => $product['order_product_id'],
'single' => 1
));
$this->load->language('multiseller/multiseller');
}
]]>



$reorder,
]]>
!empty($ms_order_product_data['shipping_method']) ? " (" . sprintf($this->language->get('mm_account_order_shipping_via'), $ms_order_product_data['shipping_method']) . ")
" : '',
]]>






]]>

]]>






getRegistry()->get('load')->language('multiseller/multiseller'), isset($data) ? $data : array());
]]>






]]>

]]>






db->query("UPDATE " . DB_PREFIX . "product SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_id = '" . (int)$order_product['product_id'] . "' AND subtract = '1'");
]]>
MsHelper->isInstalled()) {
if ($this->config->get('msconf_disable_product_after_quantity_depleted')) {
$res = $this->db->query("SELECT quantity FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$order_product['product_id'] . "'");
if ((int)$res->row['quantity'] MsProduct->changeStatus((int)$order_product['product_id'], MsProduct::STATUS_DISABLED);
MsLoader::getInstance()->MsProduct->disapprove((int)$order_product['product_id']);
}
}
}
]]>




MsHelper->isInstalled()) {
$this->MsLoader->MsMail->sendOrderMails($order_id);
}
]]>









config->get('shipping_status') && $this->config->get('shipping_estimator') && $this->cart->hasShipping()) {
]]>
config->get('shipping_status') && $this->config->get('shipping_estimator') && $this->cart->hasShipping() && (MsLoader::getInstance()->MsHelper->isInstalled() ? (int)$this->config->get('msconf_shipping_type') !== 2 : true)) {
]]>





session->data['shipping_method'])) {
]]>
MsHelper->isInstalled() && (int)$this->config->get('msconf_shipping_type') == 2) {
foreach($this->cart->getProducts() as $product) {
if (!isset($this->session->data['ms_cart_product_shipping']['fixed'][$product['product_id']]) && !isset($this->session->data['ms_cart_product_shipping']['combined'][$product['product_id']]) && !isset($this->session->data['ms_cart_product_shipping']['free'][$product['product_id']])) {
$redirect = $this->url->link('checkout/checkout', '', true);
}
}
} else if (!isset($this->session->data['shipping_method'])) {
]]>



session->data['shipping_methods']);
]]>
session->data['ms_cart_product_shipping']))
unset($this->session->data['ms_cart_product_shipping']);

if(isset($this->session->data['ms_coupons']))
unset($this->session->data['ms_coupons']);
]]>





session->data['totals']);
]]>
session->data['ms_cart_product_shipping']))
unset($this->session->data['ms_cart_product_shipping']);

if(isset($this->session->data['ms_coupons']))
unset($this->session->data['ms_coupons']);
]]>







MsHelper->isInstalled()) {
if(isset($this->request->get['product_id'])) {
$this->session->data['return_product_id'] = $this->request->get['product_id'];
}
}
]]>


response->redirect($this->url->link('account/return/success', '', true));
]]>
MsHelper->isInstalled()) {
// get product seller's email
if(isset($this->session->data['return_product_id'])) {
$seller_id = MsLoader::getInstance()->MsProduct->getSellerId($this->session->data['return_product_id']);
unset($this->session->data['return_product_id']);

if($seller_id) {
$seller_email = MsLoader::getInstance()->MsSeller->getSellerEmail($seller_id);
if($seller_email) {
$this->load->language('multiseller/multiseller');
$serviceLocator = MsLoader::getInstance()->load('\MultiMerch\Module\MultiMerch')->getServiceLocator();
$mailTransport = $serviceLocator->get('MailTransport');
$mails = new \MultiMerch\Mail\Message\MessageCollection();

$MailProductReturned = $serviceLocator->get('MailProductReturned', false)
->setTo($seller_email)
->setData(array(
'product_name' => $this->request->post['product'],
'store_name' => $this->config->get('config_name')
));

$mails->add($MailProductReturned);
$mailTransport->sendMails($mails);
}
}
}
}
]]>






MsHelper->isInstalled()) {
$this->ms_events->add(new \MultiMerch\Event\Event(array(
'customer_id' => $this->customer->getId(),
'event_type' => \MultiMerch\Event\Event::CUSTOMER_CREATED,
'data' => array()
)));

if($this->ms_events->count()) {
$this->ms_event_manager->create($this->ms_events);
}
}
]]>







config->get($result['code'] . '_status')) {
]]>







и другой файл vqmod multimerch_core_transactions.xml




MultiMerch Core Transactions
http://multimerch.com/





MsHelper->isInstalled())
$this->MsLoader->MsTransaction->createMsOrderDataEntries($order_id);
]]>



db->query("UPDATE `" . DB_PREFIX . "order` SET order_status_id = '" . (int)$order_status_id . "', date_modified = NOW() WHERE order_id = '" . (int)$order_id . "'");
]]>
MsHelper->isInstalled())
$this->MsLoader->MsTransaction->createMsOrderBalanceEntries($order_id, $order_status_id);
]]>



config->get('config_processing_status')
]]>
MsHelper->isInstalled()) {
$event_exists = $this->ms_event_manager->getEvents(array(
'event_type' => \MultiMerch\Event\Event::ORDER_CREATED,
'data' => json_encode(array('order_id' => (int)$order_id)),
'single' => 1
));

if(empty($event_exists)) {
$this->ms_events->add(new \MultiMerch\Event\Event(array(
'customer_id' => $this->customer->getId(),
'event_type' => \MultiMerch\Event\Event::ORDER_CREATED,
'data' => array('order_id' => (int)$order_id)
)));
}

if($this->ms_events->count()) {
$this->ms_event_manager->create($this->ms_events);
}
}
]]>






model_checkout_order->editOrder($order_id, $order_data);
]]>
MsHelper->isInstalled())
$this->MsLoader->MsTransaction->adminUpdateMsOrderDataEntries($order_id);
]]>



model_checkout_order->addOrderHistory($order_id,
]]>
MsHelper->isInstalled()) {
$transactions = $this->MsLoader->MsTransaction->createMsOrderBalanceEntries($order_id, $this->request->post['order_status_id']);

$transaction_ids = [];
foreach($transactions as $transaction_id) {
if($transaction_id) $transaction_ids[] = $transaction_id;
}

$suborders = $this->MsLoader->MsSuborder->getSuborders(array(
'order_id' => $order_id
));

$sellers_suborders_info = array();
foreach($suborders as $suborder) {
$sellers_suborders_info[] = $suborder['seller'] . ' (#' . $order_id . '-' . $suborder['suborder_id']. ')';
}

$this->load->language('multiseller/multiseller');
$json['success'] = sprintf($this->language->get('ms_order_success_suborders_modified'), $order_id, implode(', ', $sellers_suborders_info));

if(!empty($transaction_ids)) {
$json['success'] .= ' ' . sprintf($this->language->get('ms_order_success_transactions_created'), implode(', ', $transaction_ids));
}
}
]]>



language->get('text_success');
]]>
MsHelper->isInstalled()) {
$json['success'] = $this->language->get('text_success');
}
]]>






MsHelper->isInstalled()) { ?>




]]>






MsHelper->isInstalled()) { ?>




]]>






MsHelper->isInstalled()) { ?>




]]>





response->addHeader
]]>
MsHelper->isInstalled()) {
if(isset($coupon_info["type"]) AND $coupon_info["type"] == "F"){
unset($json['redirect']);
unset($this->session->data['success']);
unset($this->session->data['coupon']);
$this->load->language('multiseller/multiseller');
$json['error'] = $this->language->get('ms_error_fixed_coupon_warning');
}
}
]]>





response->addHeader
]]>
MsHelper->isInstalled()) {
unset($json['redirect']);
unset($this->session->data['success']);
unset($this->session->data['voucher']);
$this->load->language('multiseller/multiseller');
$json['error'] = $this->language->get('ms_error_voucher_warning');
}
]]>






load->controller('extension/total/' . basename($file, '.php'));]]>
MsHelper->isInstalled() && $this->config->get('msconf_allow_seller_coupons') && (string)basename($file, '.php') === 'coupon') {
$ms_controller_path = 'multimerch/cart_coupon';
}

$result = $this->load->controller($ms_controller_path);
]]>






Подробнее здесь: https://stackoverflow.com/questions/618 ... y-checkout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»