Linux中國

使用 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-deploythemes 目錄中進行開發。

在線商店定製

要真正使系統成為你自己的系統,請開始考慮使用組件。組件是一種模塊化方法,可以覆蓋、擴展和添加到系統中。你可以將組件視為獨立 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國