2011-10-13 59 views
1

我想寫一個與Filemaker數據庫一起工作的Magento網絡應用程序。FileMaker:與Magento集成

我可以用代碼使用filemaker php api覆蓋數據庫核心文件嗎?

還有其他的選擇嗎?

+0

爲什麼你需要這樣做?如果這是因爲它是由您的主機設置決定的,那麼將更容易改變這種情況。 –

+0

谷歌搜索'Magento Filemaker'顯示一些有趣的結果 –

+0

Filemaker!哇靠。當我看到標題時,我不得不停下來閱讀這個問題。剛剛從一天之後帶回了一些噩夢....回來的一天。祝你的項目好運。 –

回答

1

我想做一個Filemaker和Magento數據庫之間的接口,但是EAV的原因是將Magento數據庫與文件數據庫綁定在一起的噩夢。如果你想這樣做,你真的需要在Filemaker中使用PHP,並且如果它們是分開託管的,則使用Magento的SOAP API。 如果您將Magento託管在同一個Web服務器上,或者通過安裝指向可用外部數據庫的新Magento實例,您也可以使用Filemaker API將Magento核心API集成到PHP腳本中。您也可以在Filemaker服務器上執行mysql數據庫的本地複製。

爲了整合Magento的核心API,很容易在一個PHP文件,你設置以下:

<?php 
require_once 'yourmagentoinstallation/path/app/Mage.php'; 
Mage::app('default'); // default can be replaced by your default store code 

// You can use Magento code (model, EAV, singleton, block, etc) 
... 
?> 

這是可能的,也有不同的方式,但是當我需要一個開箱即用的解決方案的我沒找到。

1

這取決於你的意思是「整合」。我懷疑你需要做一些「覆蓋數據庫核心文件」的工作。當您下訂單時,您很可能需要更新FileMaker,並在Magento收到股票更新時執行相同的操作。這兩種情況很可能需要以完全不同的方式實施。

以下是FileMaker可以執行的操作。其XML後端可以輕鬆接受服務器的GET和POST請求。它們的語法相當先進,您可以查找記錄,添加,刪除和複製它們,運行FileMaker腳本等。它遠不及SQL,尤其是搜索,但非常合乎邏輯。服務器用XML響應。這是the manual(PDF)。

服務器還可以接受發送到其PHP API的任意請求。 (它也有一個XSLT API,但它已被棄用並將被刪除。)API然後根據需要重新整理請求,與XML後端對話並返回結果。由於我不是PHP專家,我不太清楚API的解釋位置,但它必須是somewhere here

FileMaker本身(即其桌面客戶端甚至服務器)可以使用插件與Web服務交談。例如。隨着股票更新,桌面客戶端可以準備併發送請求到Magento API。

而FileMaker可以直接訪問某些'大'SQL數據庫。例如。它可以連接到一個MySQL數據庫並且非常像它自己的表一樣處理它的表。也許讓核心Magento表免費工作是不明智的,但仔細腳本的更新看起來像是一個可行的選擇。

插件和直接連接最好由FileMaker開發人員完成,而XML和PHP(XSLT)API是非常標準的網頁材料。

1

Productive Computing與Magento做了一些工作。這聽起來像是他們正在使用外部數據源進行連接,這會導致過度集成。

Productive Computing Blog

我們NRGship產品使用的Magento PHP API將訂單數據和更新訂單狀態後發貨。爲了反映這一點,您需要一些PHP代碼服務器端,然後使用像Troi URL這樣的插件來調用http請求來查詢和更新記錄狀態。

提供更多關於您需求的信息可以獲得更詳細的回覆。

0

我使用Filemaker Pro附帶的JDBC驅動程序,並且我構建了一個Java中的服務器應用程序,它通過JDBC連接到filemaker以自動插入數據(如訂單等),並具有後臺任務自動更新產品更新和訂單狀態通過JDBC從Filemaker獲取數據進行更新。然後,Java服務器應用程序將SOAP API請求發送給Magento以處理數據交換。

我們通過讓服務器應用程序在套接字上監聽XML消息/命令進一步擴展了這一點,所以我可以在需要時實時集成到文件製作器。然後我有一個簡單的Filemaker插件,我使用24U Filemaker插件模板編寫,它將小型XML消息發送到java服務器應用程序,然後相應地向magento發出API調用。 Filemaker等待返回的服務器應用程序響應,然後Filemaker繼續調用該方法的腳本的其餘部分。

從這個意義上講,它有一個更復雜的任務執行隊列,所以不會超載magento API,並且我們有一個DB連接池用於文件管理器JDBC連接以保存打開和關閉連接的過載。這真的很好,我們將整個Magento與filemaker集成在一起,併爲magento生成了許多自定義API模塊,以實現magento不提供的其他功能。

我在讀它可以爲Java創建Java插件,所以理論上你可以不使用服務器應用程序,只需創建一個內置了magento API函數調用的filemaker插件即可。如果使用V2 WSI合規性模式進行magento soap調用,則可以使用屬於Netbeans的JAXB Web服務插件生成所有存根類和方法,這將爲您節省數天和數天的工作時間。