こんにちは、なかわけです。
タイトルの通り、商品登録の際にnewにチェックした商品を取得するようなブロックを作ります。
作業ログのため、箇条書きで日本語が変な可能性あり。
- 管理ページのブロック編集で「新商品紹介」を新規作成する。
中身はとりあえず、空欄もしくは適当なhogeを入力しておく。 - レイアウト設定で該当ページに「新商品紹介」をレイアウトする。
- /data/class/pages/frontparts/bloc/にLC_Page_FrontParts_Bloc_NewProducts.phpを作る。
今回はLC_Page_FrontParts_Bloc_Ranking.phpをコピーしてそれを元にコードを書き換えて作成した。
class名のあたりとかを書き換える。 - webディレクトリのfrontparts/bloc/にnew_products.phpを作る。
こちらもranking.phpをコピーして作る。
require_onceとnewのあたりを書き換える。 - /data/class_extends/page_extends/frontparts/bloc/にLC_Page_FrontParts_Bloc_NewProducts_Ex.phpを作る。
これも同ディレクトリにあるファイルをコピーして作成。
require_onceとclass名のあたりを書き換える。 - DBのdtb_blocの「新製品紹介」の行のphp_pathを「frontparts/bloc/new_products.php」に書き換える。
ここまで作業すると管理ページで作成した「新商品紹介」のhogeが表示されると思います。
次にLC_Page_FrontParts_Bloc_NewProducts.phpの中身を書き直す。
LC_Page_FrontParts_Bloc_Ranking.phpをコピーしたのでIfGetRanking()があると思うので、そこを書き換える。
function lfGetNewProducts(){ $objQuery = new SC_Query(); $col = "product_id, name, price02_min, price01_min, main_list_image "; $from = "vw_products_allclass"; $where = "product_flag LIKE '1____'"; return $objQuery->select($col, $from, $where); }
最後に管理ページの「新商品紹介」にSmartyのコードを書く。大体こんな感じで。
<!--{section name=cnt loop=$arrNewProducts}--> <div class="NewProductsBlock"> <a href="<!--{$smarty.const.URL_DIR}-->products/detail.php?product_id=<!--{$arrNewProducts[cnt].product_id}-->"> <img src="<!--{$arrNewProducts[cnt].main_list_image-->" /> </a> <h4><a href="<!--{$smarty.const.URL_DIR}-->products/detail.php?product_id=<!--{$arrNewProducts[cnt].product_id}-->"><!--{$arrNewProducts[cnt].name|escape}--></a></h4> <!--{assign var=price01 value=`$arrNewProducts[cnt].price01_min`}--> <!--{assign var=price02 value=`$arrNewProducts[cnt].price02_min`}--> <p class="Price"> 価格:<span class="price"> <!--{if $price02 == ""}--> <!--{$price01|sfPreTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}--> <!--{else}--> <!--{$price02|sfPreTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}--> <!--{/if}-->円</span> </p> <p class="Description"><!--{$arrNewProducts[cnt].comment|escape|nl2br}--></p> </div> <!--{/section}-->
これで商品登録のときにnewにチェック入れた商品が表示されると思います。
間違ってたり、動かねえよ!という方はコメントください。見直したりしてみます。