下記ファイルを作成する
① html\frontparts\bloc\recommend_random.php
② class_extends\page_extends\frontparts\bloc\LC_Page_FrontParts_Bloc_Recommend_random_Ex.php
③ class\pages\frontparts\bloc\LC_Page_FrontParts_Bloc_Recommend_random.php
▼データベースによってSQL文を使い分けることで、MySQLとPostgreSQLの両方に対応できる。
<?php // {{{ requires require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php'; class LC_Page_FrontParts_Bloc_Recommend_random extends LC_Page_FrontParts_Bloc { // }}} // {{{ functions /** * Page を初期化する. * * @return void */ function init() { parent::init(); } /** * Page のプロセス. * * @return void */ function process() { $this->action(); $this->sendResponse(); } /** * Page のアクション. * * @return void */ function action() { // 基本情報を渡す $objSiteInfo = SC_Helper_DB_Ex::sfGetBasisData(); $this->arrInfo = $objSiteInfo->data; // 使用しているデータベースサーバー名を取得 $objDB = SC_DB_DBFactory_Ex::getInstance(); $arrSystemInfo = $objDB->sfGetDBVersion(); if(isset($arrSystemInfo)){ $this->arrSystemInfo = $arrSystemInfo; } //データ取得 $objQuery =SC_Query_Ex::getSingletonInstance(); $this->arrRet = array(); //おすすめ商品を取得 $string = $arrSystemInfo; if (preg_match("/MySQL/", $string)) { $arrRet = $objQuery->select("*", "dtb_products inner join dtb_best_products on dtb_products.product_id=dtb_best_products.product_id", "dtb_products.del_flg = 0 order by rand() limit 0, 1"); }else{ $arrRet = $objQuery->select("*", "dtb_products inner join dtb_best_products on dtb_products.product_id=dtb_best_products.product_id", "dtb_products.del_flg = 0 order by random() limit 1"); } //データベースからデータの取得ができたか if(isset($arrRet)){ $this->arrRet = $arrRet; } } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?>
④ Smarty\templates\mobile\frontparts\bloc\recommend_random.tpl
(2)データベースにブロックを登録
テーブル:dtb_bloc
device_type_id:1
bloc_id:6
bloc_name:おすすめ商品ランダム
tpl_path:recommend_random.tpl
filename:recommend_random
create_date:作成日
update_date:作成日
php_path:frontparts/bloc/recommend_random.php
deletable_flg:0
(3)■html/user_data/packages/mobile/imgフォルダにtil_news.jpgを追加
(4)管理画面「デザイン管理>モバイル>レイアウト設定」「TOPページ」配置で、「おすすめ商品」をはずし、「おすすめ商品ランダム」を置く。