META Commerce
    • PDF

    META Commerce

    • PDF

    Article Summary

    VPC環境で利用できます。

    META Commerceは、Linux OS、Apache Web Serverと MySQLを活用したショッピングモール構築サービスプラットフォームです。META Commerceで構築したショッピングモールサービスは、安定性に優れた NAVERクラウドプラットフォーム上で運用され、数段階の設定ですぐにサービスを開始できます。

    META Commerceを使用するメリットは、次の通りです。

    • NAVERクラウドプラットフォームのインフラサービスを活用して、安定的にショッピングモールを運用できます。
    • オープンソースでありながら無料でスタンドアロンで提供されるため、ユーザーが自由にサービスをパーソナライズ化できます。
    • 直接開発や設計が難しい場合は、専門のパートナー会社との連携にてコラボレーションを実現できます。
    参考
    • META Commerceのウェブサービスは、基本的に安定したセキュリティが強化された HTTPSプロトコルをベースに設定されています。HTTPでアクセスしても HTTPSに自動リダイレクトされます。
    • 新規ドメインを使用する場合は、SSL証明書とウェブサービスドメインを作成してから使用してください。
    • NAVERクラウドプラットフォームの META Commerce使用方法の詳細については、次のウェブサイトでご確認ください。

    サーバ作成とアクセス

    サーバの作成とアクセス方法は、NAVERクラウドプラットフォームの一般的なサーバ作成方法と似ていますが、それ以外の追加タスクが含まれます。詳しい手順と参考になるガイドは、次の通りです。

    手順説明
    1. VPC作成
    2. Subnet作成
    • 参考ガイド: Subnet作成
    • 設定事項
      • 適用 VPCは1番で作成した VPCで選択
      • グローバル IPアドレスを割り当てるために Public Subnetに設定
    3. サーバ作成
    • 参考ガイド: Server作成
    • イメージタイプ Application、Applicationイメージタイプ META-Commerce
    4. ACG設定
    • 参考ガイド: ACG
    • ポートを設定
      • ターミナル接続のための TCP 22ポート
      • ウェブサービス利用のための TCP 80、443ポート(変更可能)
    5. グローバル IPアドレスの設定
    6. ホストマッピング
    7. 管理者パスワードの確認
    8. サーバアクセス
    参考
    • サーバにアクセスしてログインした後は、rootアカウントのパスワードを覚えやすい別のパスワードに変更することをお勧めします。passwd rootコマンドを入力して新しいパスワードを設定してください。
    • グローバル IPアドレスと ACGに問題がなくても META Commerceサービスに接続できない場合、ウェブサーバのプロセスが停止している可能性があります。ターミナルプログラムで再起動コマンド(systemctl start httpd)を実行し、プロセスを再起動してください。

    ホストマッピング

    ウェブで META Commerceを実行するには、サーバのグローバル IPアドレスと META Commerceの URLをマッピングする必要があります。
    マッピングする方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールの Region メニューや Platform メニューから利用中の環境をクリックします。

    2. Services > Compute > Server メニューを順にクリックします。

    3. META Commerceサーバのグローバル IPアドレスを確認します。

    4. メモ帳を管理者権限で実行します。

    5. メモ帳で ファイル > 開く メニューを順にクリックし、C:\Windows\System32\drivers\etcに移動して hostsファイルを開きます。

      • パスに入ってもファイルが表示されない場合は、ファイル形式を すべてのファイル に変更します。
      参考

      hostsファイルの詳細は、Microsoftのホストファイルのデフォルト値をリセットする方法をご参照ください。

    6. 以下の内容を hostsファイルに入力して保存します。

      (グローバル IPアドレス)   ncloud.meta-commerce.co.kr
      (グローバル IPアドレス)   admin-ncloud.meta-commerce.co.kr
      

      server-metacommerce_host

      参考

      実行中のウィルス対策(アンチウイルス)ソフトが hostsファイルの変更を制限する場合がありますので、ウィルス対策ソフトを一時停止または終了してください。

    管理者アカウント登録

    META Commerceを利用するには、サービスに登録して管理者アカウントを登録する必要があります。
    管理者アカウントを登録する方法は、次の通りです。

    1. サーバに接続した状態でウェブブラウザを開き、admin-ncloud.meta-commerce.co.krにアクセスします。
      • META Commerce wizardページが表示されます。
    2. ライセンスサービス利用約款の内容を確認して同意した後、 [次へ] ボタンをクリックします。
    3. ポータルアカウント情報を入力し、 [ログイン] ボタンをクリックします。
      • ポータルアカウントがない場合、 [会員登録] ボタンをクリックしてポータル会員登録を先に行います。
    4. 管理者アカウントとして登録する情報を入力し、 [保存] ボタンをクリックします。
    5. CMS(Cloud Managed Service)サービスの使用有無に応じて [はい] または [いいえ] ボタンをクリックします。
      • [はい] ボタンをクリックした場合、利用中の業者を選択し、 [次へ] ボタンをクリックします。
      • [いいえ] ボタンをクリックした場合、使用する CMSサービスを選択し、 [次へ] ボタンをクリックします。
    6. 決済サービス利用約款および自動/定期決済同意にチェックマークを付けた後、 [決済手段の登録] ボタンをクリックして決済手段を登録します。
    7. メタペイ決済画面が表示されたら、メタペイを登録します。
    8. すべての設定が完了したら、 [ショッピングモール管理者移動] ボタンをクリックします。

    レイアウト構造

    META Commerceを利用して作成したショッピングモールサイトのレイアウト構造は、次の通りです。

    参考

    ここでは、Visual Studio Codeエディタを基準に説明します。

    Head

    レイアウトの headには、ファビコン、メタタグおよび CSS、JavaScriptの連携が設定されており、必要に応じて追加できます。
    server-metacommerce_head

    注意

    jQuery 3.5.1が内蔵されているため、追加で呼び出す際に競合する恐れがあります。

    Body

    レイアウトの bodyには以下のようなプロパティが含まれます。

    • header、content、footerで構成されており、各コンポーネントはテンプレートのアンダースコア(Templet_)記法で決められた変数名で繋げられています。
      • 例) {#headerTop}
    • body idは 디렉터리명_페이지명で自動作成されます。ページごとに分けて作業するときに便利に活用できます。
      • 例) ncloud.meta-commerce.co.kr/shop/goodsListの場合: shop_goodsList
    • body下部にある各ページの JSは、現在のページ名と同じ JSファイルと自動的に繋げられます。
      • 例) ncloud.meta-commerce.co.kr/shop/goodsListの JSファイル位置: js/shop/goodsList.js

    クラスルール

    クラスルールは、BEM(Block Element Modifier)記法で作成されています。
    BEM記法は、問題要素に対するプロパティに基づき、クラス名を定義できる構造的な方法を提示します。IDには使用できず、クラス名にのみ使用できます。

    項目説明
    B(Block)独立したページを構成する要素.meta-main {border: 1px solid red;})
    E(Element)Blockを構成する要素で、Blockの末尾に2つのアンダースコア(__)を使って繋ぐ.meta-main__head {}
    .meta-main__footer {}
    M(Modifier)Blockまたは Elementのプロパティ修飾子(形状、状態など)で、Blockまたは Elementの末尾に2つのハイフン(--)を使って繋ぐ.meta-main--first {}
    .meta-main--last {}
    .meta-main__head--small {}
    .meta-main__head--big {}

    関数と変数

    関数と変数の使い方について説明します。

    参考

    関数と変数の詳細は、META Commerceポータルにログイン後、 教育センター > 開発者ガイド でご確認ください。

    Templet_

    Templet_の使用方法について説明します。

    Templet_ "共通"

    Templet_ "共通"の使用方法は、次の通りです。

    Position: レイアウトインクルード

    項目説明
    {#headerTop}上部レイアウト /layout/header/header_top.htm
    {#headerMenu}上部レイアウト /layout/header/header_menu.htm
    {#contents}ページコンテンツ
    {#footerMenu}下部レイアウト /layout/footer/footer_menu.htm
    {#footerDesc}下部レイアウト /layout/footer/desc.htm
    {#leftMenu}左メニュー /layout/leftmenu/ レイアウト設定ファイル

    Position: 共通変数

    項目説明
    {layoutCommon.isLogin}ログイン有無チェック
    {coupon_use_yn}クーポンの使用有無 Y/N
    {is_use_reserve}ポイント有無チェック
    {mandatory_use}商品情報の告知有無 Y/N
    {layoutCommon.userInfo.name}会員名
    {layoutCommon.userInfo.cartCnt}カート内の商品数
    {layoutCommon.bodyId}現在のページ ID
    {layoutCommon.routeUri}現在のページ URI
    {companyInfo.com_ceo}代表者名
    {companyInfo.com_addr1} {companyInfo.com_addr2}住所
    {companyInfo.com_number}事業者登録番号
    {companyInfo.online_business_number}通信販売業の届出番号
    {companyInfo.officer_name}個人情報の管理責任
    {companyInfo.cs_phone}C/S電話番号(市外局番を含まない)
    {companyInfo.com_phone}C/S電話番号(市外局番を含む)
    {companyInfo.opening_time}運用時間
    {companyInfo.officer_email}担当者メール
    {companyInfo.email}メールアドレス

    Position: 共通関数

    項目説明
    {=g_price(変数)}通貨は3桁ごとにカンマ(,)区切りで表示および外貨表示
    {=g_number_format(変数)}数字は3桁ごとにカンマ(,)区切りで表示

    Position: 下部情報

    項目説明
    {talktalk_use_type}カカオトークトークの使用有無 Y/N
    {talktalk_script}カカオトークトークのスクリプト内容

    Position: GNBメニュー

    項目説明
    {@ headerMenu.gnbBanner}{bd_link}バナーリンク
    {@ headerMenu.gnbBanner}{imgSrc}バナー画像のパス
    {@ headerMenu.gnbBanner}{banner_name}バナー名

    Position: カテゴリリスト

    項目説明
    {@ .subCateList}
    {..cname} //1 depth
    {@ ..subCateList}
    {...cname} //2 depth
    {/}{/}
    {cname}

    Position: 統合バナー

    項目説明
    {@ get_schedule_ banner_info (位置固有番号)}{bd_link}バナーリンク
    {@ get_schedule_ banner_info (位置固有番号)}{imgSrc}バナー画像のパス
    {@ get_schedule_ banner_info (位置固有番号)}{banner_name}バナー名

    Templet_ "メインページ/main/index.htm"

    Templet_ "メインページ/main/index.htm"の使用方法は、次の通りです。

    Position: メインバナー

    項目説明
    {@ mainBanner}{bd_link}バナーリンク
    {@ mainBanner}{imgSrc}バナー画像のパス
    {@ mainBanner}{banner_name}バナー名

    Position: 展示商品リスト

    項目説明
    {@ バナー位置名.details}{group_name}展示商品グループ名
    {@ バナー位置名.details}{group_code}展示商品グループコード
    {@ バナー位置名.details}
    {@ .goods}

    {/}
    {/}
    {banner_name}商品ブランド名
    {@ バナー位置名.details}
    {@ .goods}

    {/}
    {/}
    {pname}商品名
    {@ バナー位置名.details}
    {@ .goods}

    {/}
    {/}
    {discount_rate}割引率
    {@ バナー位置名.details}
    {@ .goods}

    {/}
    {/}
    {listprice}販売価格
    {@ バナー位置名.details}
    {@ .goods}

    {/}
    {/}
    {dcprice}実売価格
    {@ バナー位置名.details}
    {@ .goods}

    {/}
    {/}
    {@ icons}
    { .value_}
    {/}
    アイコン画像

    Position: 企画展リスト

    項目説明
    {@ exhitition}{imgPath}画像のパス
    {@ exhitition}{event_title}イベント/企画展のタイトル
    {@ exhitition}{dday}イベント/企画展の期間
    {@ exhitition}{manage_title}イベント/企画展の簡単な説明

    Templet_ "商品リストページ /shop/goods list/goods list.htm"

    Templet_ "商品リストページ /shop/goods list/goods list.htm"の使用方法は、次の通りです。

    Position: 商品リスト

    項目説明
    {nowCate.depth}現在のカテゴリの depth 0/1/2/3/4/5
    {nowCate.cname}現在のカテゴリ名

    Position: 上部ナビゲーション

    項目説明
    {@ layoutCommon.breadcrumbs} {cname}商品リストナビゲーションのカテゴリ名

    Position: カテゴリバナー

    項目説明
    {@ bannerData}{bannerLink}バナー画像のリンク
    {@ bannerData}{imgSrc}バナー画像のパス
    {@ bannerData}{banner_width}バナーの横の長さ
    {@ bannerData}{banner_height}バナーの縦の長さ
    {@ bannerData}{bd_title}バナーのタイトル

    Templet_ "商品詳細ページ /shop/goods list/goods list.htm"

    Templet_ "商品詳細ページ /shop/goods list/goods list.htm"の使用方法は、次の通りです。

    Position: 上部ナビゲーション

    項目説明
    {@ categorys}
    {@ .value_}
    {/}
    {/}
    {cid}カテゴリ ID
    {@ categorys}
    {@ .value_}
    {/}
    {/}
    {isBelong}現在のページのカテゴリチェック
    {@ categorys}
    {@ .value_}
    {/}
    {/}
    {cname}カテゴリ名

    Position: 商品の詳細情報

    項目説明
    {pname}-商品名
    {pid}-商品 ID
    {pcode}-商品コード
    {image_src}-商品詳細のメイン画像のパス
    {brand_name}-ブランド名
    {shotinfo}-商品の概要紹介
    {discount_rate}-割引率
    {dcprice}-実売価格
    {listprice}-販売価格
    {coupon_use_ yn}-クーポンの使用有無 Y/N
    {couponApplyCnt}-クーポンのダウンロード数
    {com_name}-販売元
    {allow_basic_ cnt}-最低購入数
    {allow_byoneperson_ cnt}-最大購入数
    {is_use_ reserve}-ポイント有無チェック
    {is_use_ reserve}-ポイント有無チェック
    {save_reserve}-ポイント
    {@ displayOptionInfos} |{dp_title}製造会社
    {@ displayOptionInfos} |{dp_desc}追加情報の内容
    {@ add_image_ src} # {/}-追加画像リストのイテレーション
    {@ promotionInfos}
    {.event_title} {/}
    -関連企画展の選択ボックス

    Position: カテゴリの人気商品

    項目説明
    {@ ranking}{brand_name}ブランド名
    {@ ranking}{pname}商品名
    {@ ranking}{listprice}販売価格
    {@ ranking}{dcprice}実売価格

    Position: おすすめの関連商品

    項目説明
    {@ relationInfos}{brand_name}ブランド名
    {@ relationInfos}{pname}商品名
    {@ relationInfos}{listprice}販売価格
    {@ relationInfos}{dcprice}実売価格

    Position: [商品情報] タブ

    項目説明
    {@ mandatoryInfos}{.pmi_titile}商品情報の告知項目
    {@ mandatoryInfos}{.pmi_desc}商品情報の告知内容
    {sellerNotice}-販売者からのお知らせ
    {mandatory_use}-商品情報の告知使用有無 Y/N
    {=html_entity_ decode(basicinfo)}-商品の詳細情報

    Position: [商品レビュー] タブ

    項目説明
    {allReviewTotal}商品レビュー数
    {avg.avg}顧客満足度の星評価スコア
    {avg.goodsAvg}商品の星評価スコア
    {avg.deliveryAvg}配送の星評価スコア
    {reviewTotal}一般商品のレビュー数
    {premiumReviewTotal}プレミアム商品のレビュー数

    Position: [商品お問い合わせ] タブ

    項目説明
    {qnaTotal}商品お問い合わせ数
    {myQnaTotal}マイ商品お問い合わせ数
    <select> {@ qnaDivs} <option value="{.ix}">{.div_name}</option> {/}</select>マイ商品お問い合わせ数

    Position: [交換/返品案内] タブ

    項目説明
    {delivery.deliveryClaimText}交換/返品案内

    Templet_ マイページ

    Templet_ マイページの使用方法は、次の通りです。

    Position: マイページ上部共通

    項目説明
    {mypage.gpName}メンバーシップランク
    {mypage.deliveryIngCnt}配送中の商品数
    {mypage.myMileAmount}マイレージ
    {mypage.couponCnt}クーポン数

    Position: 注文履歴

    項目説明
    {@ order_data.orderDetail}{pname}注文商品名
    {@ order_data.orderDetail}{option_text}注文商品のオプション名
    {@ order_data.orderDetail}{listprice}注文価格
    {@ order_data.orderDetail}{pcnt}注文数
    {@ order_data.orderDetail}{status_text}注文の進捗状況

    Position: 直近

    項目説明
    {@ historyList}{brand_name}商品ブランド名
    {@ historyList}{pname}商品名

    Position: 興味

    項目説明
    {@ wishList}{discount_rate}割引率
    {@ cartList}{listprice}販売価格

    Position: カート内の商品情報

    項目説明
    {@ cartList}{listprice}販売価格
    {@ cartList}{dcprice}実売価格

    handlebars.js

    handlebars.jsの使用方法について説明します。

    handlebars.js "商品リストページ /shop/goods list/goods list.htm"

    handlebars.js "商品リストページ /shop/goods list/goods list.htm"の使用方法は、次の通りです。

    Position: 商品リスト

    項目説明
    {[brand_name]}ブランド名
    {[pname]}商品名
    {[discount_rate]}割引率
    {[listprice]}販売価格
    {[dcprice]}実売価格

    Position: [商品レビュー] タブ

    項目説明
    {[option_name]}商品のオプション名
    {[bbs_subject]}投稿タイトル
    {[bbs_id]}作成者 ID
    {[regdate]}投稿日
    {[{\bbs_contents}]}投稿内容
    {[{\cmt.cmt_contents}]}管理者コメント
    {[div_name]}投稿記事の分類

    新規ページ追加

    新規ページを追加する方法は次の通りです。

    1. 新規ファイルを作成する位置でマウスを右クリックし、 Reveal in Explorer をクリックします。
      server-metacommerce_add_1

    2. ローカルディレクトリにリモートサーバと同じディレクトリが作成されたことを確認します。
      server-metacommerce_add-2_ko

    3. マウスを右クリックしてフォルダとファイルを追加します。

      • 例) フォルダ: new\new product、ファイル: new product.htm
        server-metacommerce_add_3
    4. マウスを右クリックして Sync Local をクリックし、リモートサーバにアップロードします。
      server-metacommerce_add_4

    5. リモートサーバに接続し、追加したファイルがアップロードされたことを確認します。
      server-metacommerce_add_5

      参考

      ファイルが表示されない場合は、右上の i-server_refreshをクリックします。

    6. htmファイルをサーバと接続する phpファイルを追加するために www で右クリックした後、Reveal in Explorer をクリックします。
      server-metacommerce_add_6

    7. phpファイルを作成します。

      • ファイル名には記号を使用できず、キャメルケースで入力します。
        • 例) newProduct.view.php
    8. phpファイルが作成されたら、 Sync Local > Remote を順にクリックしてリモートサーバにアップデートします。
      server-metacommerce_add-7_ko

    9. 作成された phpファイルを開き、次のソースを入力して保存します。

      <?php
      if (!defined('BASEPATH'))
      exit('No direct script access allowed');
      
      // Load Forbiz View
      $view = getForbizView();
      
      echo $view->loadLayout();
      

      server-metacommerce_add-8_ko

    10. マウスを右クリックし、 Sync Local > Remote を順にクリックしてリモートサーバにアップデートします。

    レイアウト設定

    レイアウトを設定する方法は、次の通りです。

    1. META Commerce管理者ポータル(admin-ncloud.meta-commerce.co.kr)にアクセスします。

    2. System > デザイン管理 > レイアウトデザイン メニューを順にクリックします。

    3. レイアウトデザインを設定します。

      • 新しいレイアウトデザインを追加するには、画面右上の [追加] ボタンをクリックします。登録のポップアップが表示されたら情報を入力し、[保存] ボタンをクリックします。
      • 既存のレイアウトデザインを修正するには、修正するデザインの [修正] ボタンをクリックします。修正のポップアップが表示されたら情報を修正し、[保存] ボタンをクリックします。
      • 既存のレイアウトデザインを削除するには、削除するデザインの [削除] ボタンをクリックします。
      参考

      登録または修正のポップアップで、 ファイルパス にはディレクトリ名、 アクセス URL には phpファイル名、 コンテンツ には htmlファイル名を入力する必要があります。

    4. 設定が完了したら、画面右上の [Export] ボタンをクリックします。

      • 修正事項がサイトに反映されます。

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.