WN

WN (https://www.wn.se/forum/index.php)
-   E-kommers (https://www.wn.se/forum/forumdisplay.php?f=10)
-   -   OpenCart - Access till orderdata (https://www.wn.se/forum/showthread.php?t=1062207)

J0hans 2014-07-02 16:13

OpenCart - Access till orderdata
 
Hej!
Jag har en egenutvecklad API mot Specter, nu vill jag även implementera denna mot en OpenCart-installation.

Någon som känner till ett vettigt plugin jag kan använda mig av för att få access till orderdata och sedan skicka dessa vidare med mitt API?

Hittat några fullösning där om editrerar originalfilerna för orderhantering och lägger in egna funktioner, men den fullösningen vill jag helt hoppa på grund av uppdateringar etc.

Hoppas ni förstår vad jag menar.

Tack på förhand!

Med vänlig hälsning,
Johan

jeja2000 2014-07-05 14:45

Inga problem med Opencarts VqMod system. Det är bara att göra funktionerna där så är du säker vid en uppdatering.

Skapar du bara en funktion som skickar orderdata till ditt api så är ju saken klar. Vi har jobbat lite med detta för integration med vårt WMS. Anledningen till att det är på två ställen är att du kan ju skapa en order i admin också.
PHP-kod:


    
<file name="admin/model/sale/order.php">
        <
operation info="Call Boxedwms on new order">
            <
search position="after">
                <![
CDATA[
                
$order_id $this->db->getLastId();
                ]]>
            </
search>
            <
add>
                <![
CDATA[
                    
$data['order_id'] = $order_id;
                    
$this->log->write(print_r($data,true));
                    
//require_once(DIR_SYSTEM.'/library/boxedwms/connection.php');
                    //$this->load->model('boxedwms/boxedwms');
                    //$result = $this->model_boxedwms_boxedwms->getCredentials();
                    //$conn = new Connection($result['api_username'],$result['api_password']);
                    //$conn->exportOrder($data);
                
]]>
            </
add>
        </
operation>
    </
file>
    <
file name="catalog/model/checkout/order.php">
        
        <
operation info="Call on confirm">
            <
search position="after">
                <![
CDATA[
                
$order_info $this->getOrder($order_id);
                ]]>
            </
search>
            <
add>
                <![
CDATA[
                
$this->load->model('account/order');
                
$products $this->model_account_order->getOrderProducts($order_id);
                
$order_info['products'] = $products;
                
$this->log->write(print_r($order_info,true));
                require_once(
DIR_SYSTEM.'/library/boxedwms/connection.php');
                
$this->load->model('boxedwms/boxedwms');
                
$result $this->model_boxedwms_boxedwms->getCredentials();
                
$conn = new Connection($result['api_username'],$result['api_password']);
                
$conn->exportOrder($data);
                ]]>
            </
add>
        </
operation>
    </
file

Det är dessa ändringar som krävs för att skicka data via api typ. Kan behövas lite extrajobb och säkerhet. Men grunden ligger i vqmod. Dock har jag skapat ett library för vårt WMS men det är ju inget som stör en uppdatering

J0hans 2014-07-07 15:25

Tack!
Var inne på att det var vqmod själv också, ska kolla vidare på detta då.

Tack igen.


Alla tider är GMT +2. Klockan är nu 02:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson