Хорошо, я очень нуб, но я учусь по ходу дела и хотел бы получить несколько советов о том, где я могу проверить или что я могу сделать, чтобы решить эту проблему.
Проблема: я использую m2e-Pro и расширение справочной службы на своем сайте. Недавно я создал простое расширение, которое использует наблюдателя для отслеживания, когда продажа завершена, а когда она завершена, она создает заявку в службу поддержки и назначает заявку только что созданному заказу. Насколько я могу судить, расширение прекрасно работает … ЗА ИСКЛЮЧЕНИЕМ я начал замечать, что M2ePro прекратил автоматически создавать заказы magento. M2epro по-прежнему синхронизируется с eBay, и на вкладке продаж M2ePro для eBay вы можете увидеть заказ на eBay, но вы должны вручную создать заказ. Я удалил свое расширение, и как магия m2ePro снова начал автоматически создавать заказы.
Поскольку я новичок, я не уверен, где это проверить, но очевидно, что это вызвано моим расширением. И это также может вызывать другие проблемы, которые я просто не вижу.
Мое расширение:
приложение / и т.д. / модули / Trs_Orderhook.xml
<?xml version="1.0"?>
<config>
<modules>
<Trs_Orderhook>
<active>true</active>
<codePool>local</codePool>
</Trs_Orderhook>
</modules>
</config>
Приложение / код / местные / TRS / Orderhook / и т.д. / config.xml
<?xml version="1.0"?>
<config>
<modules>
<Trs_Orderhook>
<version>1.0</version>
</Trs_Orderhook>
</modules>
<global>
<models>
<trs_orderhook>
<class>Trs_Orderhook_Model</class>
</trs_orderhook>
</models>
<events>
<sales_order_place_after>
<observers>
<trs_orderhook>
<class>trs_orderhook/observer</class>
<method>newTicket</method>
</trs_orderhook>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
Приложение / код / местные / TRS / Orderhook / Модель / Observer.php
<?php
class Trs_Orderhook_Model_Observer
{
public function newTicket($observer)
{
$order = $observer->getOrder();//get Order data
$orderId = $order->getId(); //get the Order ID
$orderNumber = $order->getIncrementId(); //get Order Increment ID
$order_customer = $order->getCustomerName(); //get Customer Name
$customer_email = $order->getCustomer()->getEmail();//get customer email
$customer_id = $order->getCustomer()->getId();//get customer id
$order_date = $order->getCreatedAtStoreDate()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);//Get order date
//This is data used to create ticket from Frontend of site
$dataFrontend = array(
"name"=>"Ticket for order # " . $orderNumber ,
"message"=>"Welcome Message",
"order_id" => $orderId,
"f_order_number" => $orderNumber,
"f_order_date" => $order_date,
);
//This is the data used to create ticket from Admin Side
$dataAdmin = array(
"customer_email"=>$customer_email ,
"allowCC"=> "false",
"allowBCC"=> "false",
"customer_query" =>"",
"customer_id" => $customer_id ,
"order_id" => $orderId ,
"name" => "Repair Ticket for order # " . $orderNumber ,
"status_id" => "1",
"priority_id" => "3",
"owner" => "2_0",
"reply_type" => "public",
"third_party_email" => "" ,
"reply" => "Welcome Message" ,
"store_id" => "1" ,
"f_order_number" => $orderNumber,
"f_order_date" => $order_date,
"tags" => "" ,
"fp_period_unit" => "minutes",
"fp_period_value" => "" ,
"fp_execute_at" => "",
"fp_is_remind" => "0" ,
"fp_remind_email" => "",
"fp_status_id" => "0" ,
"fp_priority_id" => "0" ,
"fp_owner"=> "0_0");
//This is to check if the order is coming from frontend or backend
if(!empty($order->getRemoteIp())){
//This creates the ticket for frontend based orders
Mage::helper('helpdesk/process')->createFromPost($dataFrontend, helpDeskExtension_Helpdesk_Model_Config::CHANNEL_CONTACT_FORM);
}
else{
//This creates the ticket for backend/admin based order
$user = Mage::getSingleton('admin/session')->getUser();
$ticket = Mage::helper('helpdesk/process')->createOrUpdateFromBackendPost($dataAdmin, $user);
}
}
}
Как я уже сказал, этот код отлично работает для того, что он должен делать. НО это влияет на способность моего расширения m2e-Pro автоматически создавать заказы. Я очень ценю помощь!!!
Задача ещё не решена.
Других решений пока нет …