Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 导致M2ePro问题的自定义扩展_Php_Magento_Magento 1.9_M2e Pro - Fatal编程技术网

Php 导致M2ePro问题的自定义扩展

Php 导致M2ePro问题的自定义扩展,php,magento,magento-1.9,m2e-pro,Php,Magento,Magento 1.9,M2e Pro,好的,我是一个非常好的noob,但我在学习的过程中,我会喜欢一些建议,我可以在哪里检查或我可以做什么来解决这个问题 问题:我在我的网站上使用m2e Pro和帮助台扩展。我最近创建了一个简单的扩展,它使用observer来监控销售何时完成,销售完成后,它会创建一个帮助台记录单,并将记录单分配给刚刚创建的订单。据我所知,扩展工作得很好。。。除此之外,我开始注意到M2ePro停止自动创建magento订单。M2epro仍与易趣同步,在易趣的M2epro销售选项卡上,您可以看到易趣订单,但您必须手动创建

好的,我是一个非常好的noob,但我在学习的过程中,我会喜欢一些建议,我可以在哪里检查或我可以做什么来解决这个问题

问题:我在我的网站上使用m2e Pro和帮助台扩展。我最近创建了一个简单的扩展,它使用observer来监控销售何时完成,销售完成后,它会创建一个帮助台记录单,并将记录单分配给刚刚创建的订单。据我所知,扩展工作得很好。。。除此之外,我开始注意到M2ePro停止自动创建magento订单。M2epro仍与易趣同步,在易趣的M2epro销售选项卡上,您可以看到易趣订单,但您必须手动创建订单。我删除了我的扩展,像魔术一样,m2ePro再次开始自动创建订单

由于我是一个初学者,我不确定去哪里检查,但很明显,我的扩展导致了这一点。它也可能导致其他我没有看到的问题

我的分机号码:

app/etc/modules/Trs\u Orderhook.xml

<?xml version="1.0"?>
    <config>
        <modules>
            <Trs_Orderhook>
                <active>true</active>
                <codePool>local</codePool>
            </Trs_Orderhook>
        </modules>
</config>

真的
地方的
app/code/local/Trs/Orderhook/etc/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>

1
Trs_Orderhook_模型
trs_orderhook/观察员
纽蒂克特
app/code/local/Trs/Orderhook/Model/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);

        }
    }
}

尝试将您的observer方法包装在一个Try-catch中,并在magentos日志文件中记录所有异常,并检查php日志中是否存在任何错误。好的,所以我不确定Try-catch是什么,所以我用谷歌搜索了它。。。似乎我需要一些测试来使用它。我看到的每个例子本质上都在说:这是exception的值。现在尝试一些东西,如果它符合条件,抛出异常,否则继续。。。所以我不确定我测试它是为了触发一个异常。我的困惑有什么意义吗?试着把你的observer方法包装在一个Try-catch中,在magentos日志文件中记录任何异常,并检查php日志中是否有任何错误。好的,所以我不确定Try-catch是什么,所以我用谷歌搜索了它。。。似乎我需要一些测试来使用它。我看到的每个例子本质上都在说:这是exception的值。现在尝试一些东西,如果它符合条件,抛出异常,否则继续。。。所以我不确定我测试它是为了触发一个异常。我的困惑有什么意义吗?