使用 Java 框架 Scipio ERP 創建一個在線商店
如果,你想在網上銷售產品或服務,但要麼找不到合適的軟體,要麼覺得定製成本太高?那麼,Scipio ERP 也許正是你想要的。
Scipio ERP 是一個基於 Java 的開源的電子商務框架,具有包羅萬象的應用程序和功能。這個項目於 2014 年從 Apache OFBiz 分叉而來,側重於更好的定製和更現代的吸引力。這個電子商務組件非常豐富,可以在多商店環境中工作,同時支持國際化,具有琳琅滿目的產品配置,而且它還兼容現代 HTML 框架。該軟體還為許多其他業務場景提供標準應用程序,例如會計、倉庫管理或銷售團隊自動化。它都是高度標準化的,因此易於定製,如果你想要的不僅僅是一個虛擬購物車,這是非常棒的。
該系統也使得跟上現代 Web 標準變得非常容易。所有界面都是使用系統的「模板工具包」構建的,這是一個易於學習的宏集,可以將 HTML 與所有應用程序分開。正因為如此,每個應用程序都已經標準化到核心。聽起來令人困惑?它真的不是 HTML——它看起來很像 HTML,但你寫的內容少了很多。
初始安裝
在你開始之前,請確保你已經安裝了 Java 1.8(或更高版本)的 SDK 以及一個 Git 客戶端。完成了?太棒了!接下來,切換到 Github 上的主分支:
git clone https://github.com/ilscipio/scipio-erp.git
cd scipio-erp
git checkout master
要安裝該系統,只需要運行 ./install.sh
並從命令行中選擇任一選項。在開發過程中,最好一直使用 「installation for development」(選項 1),它還將安裝一系列演示數據。對於專業安裝,你可以修改初始配置數據(「種子數據」),以便自動為你設置公司和目錄數據。默認情況下,系統將使用內部資料庫運行,但是它也可以配置使用各種關係資料庫,比如 PostgreSQL 和 MariaDB 等。
![安裝嚮導](/data/attachment/album/201909/22/133311l37pcpchf3s77f3v.jpg "Setup wizard")
按照安裝嚮導完成初始配置
通過命令 ./start.sh
啟動系統然後打開鏈接 https://localhost:8443/setup/ 完成配置。如果你安裝了演示數據, 你可以使用用戶名 admin
和密碼 scipio
進行登錄。在安裝嚮導中,你可以設置公司簡介、會計、倉庫、產品目錄、在線商店和額外的用戶配置信息。暫時在產品商店配置界面上跳過網站實體的配置。系統允許你使用不同的底層代碼運行多個在線商店;除非你想這樣做,一直選擇默認值是最簡單的。
祝賀你,你剛剛安裝了 Scipio ERP!在界面上操作一兩分鐘,感受一下它的功能。
捷徑
在你進入自定義之前,這裡有一些方便的命令可以幫助你:
- 創建一個 shop-override:
./ant create-component-shop-override
- 創建一個新組件:
./ant create-component
- 創建一個新主題組件:
./ant create-theme
- 創建管理員用戶:
./ant create-admin-user-login
- 各種其他實用功能:
./ant -p
- 用於安裝和更新插件的實用程序:
./git-addons help
另外,請記下以下位置:
- 將 Scipio 作為服務運行的腳本:
/tools/scripts/
- 日誌輸出目錄:
/runtime/logs
- 管理應用程序:
<https://localhost:8443/admin/>
- 電子商務應用程序:
<https://localhost:8443/shop/>
最後,Scipio ERP 在以下五個主要目錄中構建了所有代碼:
framework
: 框架相關的源,應用程序伺服器,通用界面和配置applications
: 核心應用程序addons
: 第三方擴展themes
: 修改界面外觀hot-deploy
: 你自己的組件
除了一些配置,你將在 hot-deploy
和 themes
目錄中進行開發。
在線商店定製
要真正使系統成為你自己的系統,請開始考慮使用組件。組件是一種模塊化方法,可以覆蓋、擴展和添加到系統中。你可以將組件視為獨立 Web 模塊,可以捕獲有關資料庫(實體)、功能(服務)、界面(視圖)、事件和操作和 Web 應用程序等的信息。由於組件功能,你可以添加自己的代碼,同時保持與原始源兼容。
運行命令 ./ant create-component-shop-override
並按照步驟創建你的在線商店組件。該操作將會在 hot-deploy
目錄內創建一個新目錄,該目錄將擴展並覆蓋原始的電子商務應用程序。
![組件目錄結構](/data/attachment/album/201909/22/133317n930l8lnl49a4old.jpg "component directory structure")
一個典型的組件目錄結構。
你的組件將具有以下目錄結構:
config
: 配置data
: 種子數據entitydef
: 資料庫表定義script
: Groovy 腳本的位置servicedef
: 服務定義src
: Java 類webapp
: 你的 web 應用程序widget
: 界面定義
此外,ivy.xml
文件允許你將 Maven 庫添加到構建過程中,ofbiz-component.xml
文件定義整個組件和 Web 應用程序結構。除了一些在當前目錄所能夠看到的,你還可以在 Web 應用程序的 WEB-INF
目錄中找到 controller.xml
文件。這允許你定義請求實體並將它們連接到事件和界面。僅對於界面來說,你還可以使用內置的 CMS 功能,但優先要堅持使用核心機制。在引入更改之前,請熟悉 /applications/shop/
。
添加自定義界面
還記得模板工具包嗎?你會發現它在每個界面都有使用到。你可以將其視為一組易於學習的宏,它用來構建所有內容。下面是一個例子:
<@section title="Title">
<@heading id="slider">Slider</@heading>
<@row>
<@cell columns=6>
<@slider id="" class="" controls=true indicator=true>
<@slide link="#" image="https://placehold.it/800x300">Just some content…</@slide>
<@slide title="This is a title" link="#" image="https://placehold.it/800x300"></@slide>
</@slider>
</@cell>
<@cell columns=6>Second column</@cell>
</@row>
</@section>
不是很難,對吧?同時,主題包含 HTML 定義和樣式。這將權力交給你的前端開發人員,他們可以定義每個宏的輸出,並堅持使用自己的構建工具進行開發。
我們快點試試吧。首先,在你自己的在線商店上定義一個請求。你將修改此代碼。一個內置的 CMS 系統也可以通過 https://localhost:8443/cms/ 進行訪問,它允許你以更有效的方式創建新模板和界面。它與模板工具包完全兼容,並附帶可根據你的喜好採用的示例模板。但是既然我們試圖在這裡理解系統,那麼首先讓我們採用更複雜的方法。
打開你商店 webapp
目錄中的 controller.xml 文件。控制器會跟蹤請求事件並相應地執行操作。下面的操作將會在 /shop/test
下創建一個新的請求:
<!-- Request Mappings -->
<request-map uri="test">
<security https="true" auth="false"/>
<response name="success" type="view" value="test"/>
</request-map>
你可以定義多個響應,如果需要,可以在請求中使用事件或服務調用來確定你可能要使用的響應。我選擇了「視圖」類型的響應。視圖是渲染的響應;其他類型是請求重定向、轉發等。系統附帶各種渲染器,可讓你稍後確定輸出;為此,請添加以下內容:
<!-- View Mappings -->
<view-map name="test" type="screen" page="component://mycomponent/widget/CommonScreens.xml#test"/>
用你自己的組件名稱替換 my-component
。然後,你可以通過在 widget/CommonScreens.xml
文件的標籤內添加以下內容來定義你的第一個界面:
<screen name="test">
<section>
<actions>
</actions>
<widgets>
<decorator-screen name="CommonShopAppDecorator" location="component://shop/widget/CommonScreens.xml">
<decorator-section name="body">
<platform-specific><html><html-template location="component://mycomponent/webapp/mycomponent/test/test.ftl"/></html></platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
商店界面實際上非常模塊化,由多個元素組成(小部件、動作和裝飾器)。為簡單起見,請暫時保留原樣,並通過添加第一個模板工具包文件來完成新網頁。為此,創建一個新的 webapp/mycomponent/test/test.ftl
文件並添加以下內容:
<@alert type="info">Success!</@alert>
![自定義的界面](/data/attachment/album/201909/22/133319lt99ylywl99at8l9.jpg "Custom screen")
一個自定義的界面。
打開 https://localhost:8443/shop/control/test/ 並驚嘆於你自己的成就。
自定義主題
通過創建自己的主題來修改商店的界面外觀。所有主題都可以作為組件在 themes
文件夾中找到。運行命令 ./ant create-theme
來創建你自己的主題。
![主題組件布局](/data/attachment/album/201909/22/133322imewmwj1kste3psp.jpg "theme component layout")
一個典型的主題組件布局。
以下是最重要的目錄和文件列表:
- 主題配置:
data/*ThemeData.xml
- 特定主題封裝的 HTML:
includes/*.ftl
- 模板工具包 HTML 定義:
includes/themeTemplate.ftl
- CSS 類定義:
includes/themeStyles.ftl
- CSS 框架:
webapp/theme-title/
快速瀏覽工具包中的 Metro 主題;它使用 Foundation CSS 框架並且充分利用了這個框架。然後,然後,在新構建的 webapp/theme-title
目錄中設置自己的主題並開始開發。Foundation-shop 主題是一個非常簡單的特定於商店的主題實現,你可以將其用作你自己工作的基礎。
瞧!你已經建立了自己的在線商店,準備個性化定製吧!
![搭建完成的 Scipio ERP 在線商店](/data/attachment/album/201909/22/133339ckf90t90wfco9ffk.jpg "Finished Scipio ERP shop")
一個搭建完成的基於 Scipio ERP的在線商店。
接下來是什麼?
Scipio ERP 是一個功能強大的框架,可簡化複雜的電子商務應用程序的開發。為了更完整的理解,請查看項目文檔,嘗試在線演示,或者加入社區.
via: https://opensource.com/article/19/1/scipio-erp
作者:Paul Piper 選題:lujun9972 譯者:laingke 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive