レビューの投稿内容に年代という項目を追加したく、投稿画面に年代のプルダウンメニューを表示させ、選択した内容をdtb_reviewに登録するまでは出来たのですがフロント側での表示が出来なく困っております。
▼行った作業
mtb_recommendを参考に『mtb_generation』テーブルを作成
管理画面のマスタデータ管理でID:1 10代、ID:2 20代...とデータを追加
dtb_reviewにgenerationカラム(smallint)を作成
review.tplに↓を追記
<select name="generation">
<!--{html_options options=$arrGeneration selected=$arrForm.generation}-->
</select>
review_confirm.tplに↓を追記
<!--{$arrGeneration[$arrForm.generation]}-->
LC_Page_Products_Review.phpの各箇所に赤字部分を追記
// {{{ properties
/** おすすめレベル */
var $arrRECOMMEND;
/** 性別 */
var $arrSex;
/** 年齢 */
var $arrGeneration;
function init() {
parent::init();
$masterData = new SC_DB_MasterData_Ex();
$this->arrRECOMMEND = $masterData->getMasterData("mtb_recommend");
$this->arrSex = $masterData->getMasterData("mtb_sex");
$this->arrGeneration = $masterData->getMasterData("mtb_generation");
function lfInitParam(&$objFormParam) {
$objFormParam->addParam("レビューID", "review_id", INT_LEN, 'aKV');
$objFormParam->addParam("商品ID", "product_id", INT_LEN, 'n', array("NUM_CHECK","EXIST_CHECK", "MAX_LENGTH_CHECK"));
$objFormParam->addParam("投稿者名", "reviewer_name", STEXT_LEN, 'aKV', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objFormParam->addParam("投稿者URL", "reviewer_url", MTEXT_LEN, 'a', array("NO_SPTAB", "SPTAB_CHECK", "MAX_LENGTH_CHECK", "URL_CHECK"));
$objFormParam->addParam("性別", 'sex', INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
$objFormParam->addParam("年齢", 'generation', INT_LEN, 'n', array("NUM_CHECK", "SELECT_CHECK"));
上記の作業で選択した内容がdtb_reviewに格納されるようになったのですがフロント側の表示が出来なくて困っております。
おすすめレベルを参考にdetail.tplのレビュー箇所に↓を追記してみたのですが表示されませんでした。
<!--{assign var=level value=$arrReview[cnt].generation}-->
<!--{$arrGeneration[$level]|h}-->
ヒントでも宜しいのでお力をお貸しいただけないでしょうか。
宜しくお願いいたします。
--------------------------------------------------------
[EC-CUBE] 2.1.1
[レンタルサーバ] EC-CUBEクラウドサーバ
[OS] Windows 7
[PHP] PHP 5.2
[データベース] PostgreSQL
--------------------------------------------------------