EC-CUBE EC-CUBEのカスタマイズ・制作会社 強いネットショップ構築します|EC-Orange

EC-Orange とは

EC-CUBE カスタマイズ

EC-CUBEインストール

EC-CUBE 環境構築ノウハウ

EC-CUBE 基本構成理解

ソースコード読解

EC-CUBE カスタマイズ:初歩

EC-CUBE カスタマイズ:基礎

EC-CUBE カスタマイズ:応用

EC-CUBE 機能拡張ノウハウ

EC-CUBE カスタマイズ    商品詳細データなどをデータベースから取得

    EC-CUBE カスタマイズ  >  EC-CUBE カスタマイズ:基礎  >  データベースの値を取得表示

カスタマイズ:基礎/データベースの値を取得表示

データベース上に格納されている、商品詳細データなどを取得し、表示させるカスタマイズを紹介します。 ページ表示の際に、既に取得してきている値であれば、比較的簡単に実現可能です。

    システム開発でお悩みの方は、ネットショップ構築パッケージ EC-Orange にお問い合わせください


変数名の確認

今回は、データベースから既に取り出している値を、商品詳細ページに表示させるカスタマイズを行います。
データベースから値を取り出しているロジックが書かれているファイルで確認をします。
商品詳細ページのクラスファイルは、

/data/class/pages/products/LC_Page_Products_Detail.php

です。

  • 210行目付近
  1. // DBから商品情報を取得する。
  2. $arrRet = $objQuery->select("*", "vw_products_allclass_detail AS alldtl", "product_id = ?", array($tmp_id));
  3. $this->arrProduct = $arrRet[0];

ここでデータベースから、商品情報を取得し、$arrProductに格納しています。
$arrProduct['stock_max']の中に、在庫数が格納されていますので、これを利用します。

テンプレートファイルの更新

以下が、商品詳細ページのテンプレートファイルです。

/data/Smarty/templates/default/detail.tpl

「個数」という表示の下に、
「残りあと○○個です。」という表示を加えてみます。

  • 190行目付近
  1. <dl>
  2.     <dt>&nbsp;&nbsp;<⁄dt>
  3.     <!––以下を挿入––>
  4.     <!––{if $arrProduct.sale_limit}––>
  5.         <dd><!––{$arrProduct.sale_limit}––>個まで購入できます。<⁄dd>       
  6.     <!––{/if}––>
  7.     <!––ここまで––>
  8.     <dd><input type="text" name="quantity" class="box54" value="<!––{$arrForm.quantity.value|default:1}––>" maxlength="<!––{$smarty.const.INT_LEN}––>" style="<!––{$arrErr.quantity|sfGetErrorColor}––>" />
  9.     <!––{if $arrErr.quantity != ""}––>
  10.     <br /><span class="attention"><!––{$arrErr.quantity}––><⁄span>
  11.     <!––{/if}––>
  12.     <⁄dd>
  13. <⁄dl>

スクリーンショット