■商品問い合せを実装する
商品詳細ページから対象商品について問合せをする機能を実装する
商品詳細ページに問合せボタンを設置
<form method="post" action="<!--{$smarty.const.HTTPS_URL}-->contact/<!--{$smarty.const.DIR_INDEX_PATH}-->"> <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->"> <input type="hidden" name="name" value="<!--{$arrProduct.name}-->"> <input type="hidden" name="product_code" value="<!--{$arrProduct.product_code_min}-->"> <button type="submit">この商品についての問合せはコチラ</button> </form>
商品詳細ページから問合せページによる画面遷移の場合は商品名と商品コードを表示させる
<table summary="お問い合わせ"> <!--{if $arrContactCommodity && $arrContactCommodity != ''}--> <tr> <th>お問合せ商品</th> <td> <!--{$arrContactCommodity.name}--> (コード:<!--{$arrContactCommodity.product_code}-->) <input type="hidden" name="name" value="<!--{$arrContactCommodity.name}-->"> <input type="hidden" name="product_code" value="<!--{$arrContactCommodity.product_code}-->"> </td> </tr> <!--{/if}-->
問合せ確認ページに商品名と商品コードを表示する
<table summary="お問い合わせ内容確認"> <col width="30%"> <col width="70%"> <!--{if $arrForm.name.value && $arrForm.name.value != ''}--> <tr> <th>お問合せ商品</th> <td><!--{$arrForm.name.value|h}--> (コード:<!--{$arrForm.product_code.value|h}-->)</td> </tr> <!--{/if}-->
メールのテンプレートに商品名と商品コードを追記する
<!--{if $arrForm.name.value && $arrForm.name.value != ''}--> ■商品名 :<!--{$arrForm.name.value}--> (コード:<!--{$arrForm.product_code.value}-->) <!--{/if}-->
問合せクラスにてPOSTデータの処理
/** * Page のアクション. * * @return void */ public function action() { // 商品詳細ページの問合せボタンから遷移した場合 if(isset($_POST['name']) && $_POST['name'] != '') { // POSTデータを保持する $this->arrContactCommodity = $_POST; } parent::action(); } /** * お問い合わせ入力時のパラメーター情報の初期化を行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return void */ public function lfInitParam(&$objFormParam) { $objFormParam->addParam("商品名", "name", MTEXT_LEN, 'KVa', array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); $objFormParam->addParam("商品コード", "product_code", MTEXT_LEN, 'KVa', array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); parent::lfInitParam(&$objFormParam); }