バージョン選択

フォーラム

メニュー

オンライン状況

50 人のユーザが現在オンラインです。 (40 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 50
もっと...

サイト内検索

質問 > フロント機能 > トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
moment
投稿日時: 2014/7/10 4:44
対応状況: 解決済
常連
登録日: 2014/6/30
居住地:
投稿: 45
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
Sumida様

できました。表示されました。

私はおすすめブロックにかなりカスタマイズをしておりましたので、php、tplの記述がデフォルトのものとかなりかけ離れていることを忘れておりました。

大変失礼致しまた。

sumida様にはかなり具体性のかける質問に対して親身に根気強くご指導を頂きまして本当に感謝いたします。

red様、yuh様にもご教授いただきましたことを感謝いたします。
sumida
投稿日時: 2014/7/9 12:10
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
LC_Page_FrontParts_Bloc_Recommend.phpの修正については、2つめの追加の位置が明確になっていなかったので、その分コードに追加しました。
その位置に追加しているでしょうか?

また、productStatusについてですが、
LC_Page_FrontParts_Bloc_Recommend.phpの追加で入れている名称です。

$arrProductList[$key]['productStatus'] = $value;


Newsについては、もともと、dtb_newsには、カラム名'product_id'がないので
使途が不明なのですが。
moment
投稿日時: 2014/7/9 7:14
対応状況: −−−
常連
登録日: 2014/6/30
居住地:
投稿: 45
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
Sumida様

ご教授いただきまして大変感謝いたします。またご多忙の中恐縮でございます。

頂きました記述を試しましたが、私の設定では商品ステータスアイコンが表示されない様でございます。sumida様の設定では表示されていることを想定すると、私の設定のLC_Page_FrontParts_Bloc_Recommend.phpの記述自体(各項目の名称)、あるいは使用しているテーブルの連結方法等の違いが考えられます。

なので、私の設定で表示されるまで試していくしか方法がないのかなと考えておりますが、まず、

● recommend.tpl内にある2つの
$arrProduct.productStatus

$arrProduct.product_status_id
に変更すると、各商品に商品ステータスアイコンが一つだけ、ページを更新する度にランダムに(複数ある中の異なるものが一つだけ)表示されます。

$arrProduct.productStatusはどこで定義されているものなのでしょうか。

● 前メールで頂いた記述を新着商品ブロックで使用しようとした場合、変更する箇所は下記の変更だけでよろしいでしょうか。

LC_Page_FrontParts_Bloc_NewProducts.php

<!--{* added *}-->
$ arrNewProducts = $objProduct->getProductStatus($arrProductId);
foreach ($arrNewProducts as $key => $value) {
$arrProductList[$key]['productStatus'] = $value;
}
<!--{* added *}-->

new_products.tpl

<!--{* added *}-->
<!--{if $arrNewProducts.productStatus}-->
<div class="productStatus">
<!--{foreach from=$arrNewProducts.productStatus item=productStatus}-->
<!--{$arrSTATUS[$productStatus]}-->
<img src="<!--{$TPL_URLPATH}--><!--{$arrSTATUS_IMAGE[$productStatus]}-->" width="60" height="17" alt="<!--{$arrSTATUS[$productStatus]}-->" />
<!--{/foreach}-->
</div>
<!--{/if}-->
<!--{* added *}-->
sumida
投稿日時: 2014/7/8 18:28
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
これで、どうでしょうか?
LC_Page_FrontParts_Bloc_Recommend.php

    function init() {
        parent::init();
// added
        $masterData                 = new SC_DB_MasterData_Ex();
        $this->arrSTATUS            = $masterData->getMasterData('mtb_status');
        $this->arrSTATUS_IMAGE      = $masterData->getMasterData('mtb_status_image');
// added


            // 取得
            $arrProductList = $objProduct->getListByProductIds($objQuery, $arrProductId);
// added
            $arrProductStatus = $objProduct->getProductStatus($arrProductId);
            foreach ($arrProductStatus as $key => $value) {
                $arrProductList[$key]['productStatus'] = $value;
            }
            // 商品ステータスがない商品は、$arrProductList[$key]['productStatus']が存在しない。
// added

recommend.tpl

<!--{if count($arrBestProducts) > 0}-->
    <div class="block_outer clearfix">
        <div id="recommend_area">
            <h2><img src="<!--{$TPL_URLPATH}-->img/title/tit_bloc_recommend.jpg" alt="*" class="title_icon" /></h2>
            <div class="block_body clearfix">
                <!--{foreach from=$arrBestProducts item=arrProduct name="recommend_products"}-->
                    <div class="product_item clearfix">
                        <div class="productImage">
                            <a href="<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}-->">
                                <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arrProduct.main_list_image|sfNoImageMainList|h}-->&width=80&height=80" alt="<!--{$arrProduct.name|h}-->" />
                            </a>
                        </div>
<!--{* added *}-->
                        <!--{if $arrProduct.productStatus}-->
                            <div class="productStatus">
                                <!--{foreach from=$arrProduct.productStatus item=productStatus}-->
                                    <!--{$arrSTATUS[$productStatus]}-->
                                    <img src="<!--{$TPL_URLPATH}--><!--{$arrSTATUS_IMAGE[$productStatus]}-->" width="60" height="17" alt="<!--{$arrSTATUS[$productStatus]}-->" />
                                <!--{/foreach}-->
                            </div>
                       <!--{/if}-->
<!--{* added *}-->
                        <div class="productContents">
                            <h3>
                                <a href="<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}-->"><!--{$arrProduct.name|h}--></a>
                            </h3>
                            <p class="sale_price">
                                <!--{$smarty.const.SALE_PRICE_TITLE}-->(税込): <span class="price"><!--{$arrProduct.price02_min_inctax|number_format}--> 円</span>
                            </p>
                            <p class="mini comment"><!--{$arrProduct.comment|h|nl2br}--></p>
                        </div>
                    </div>
                    <!--{if $smarty.foreach.recommend_products.iteration % 2 === 0}-->
                        <div class="clear"></div>
                    <!--{/if}-->
                <!--{/foreach}-->
            </div>
        </div>
    </div>
<!--{/if}-->

商品ステータスは、複数ある場合、該当するものが羅列されます。
moment
投稿日時: 2014/7/8 18:19
対応状況: −−−
常連
登録日: 2014/6/30
居住地:
投稿: 45
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
sumida様

親身になってご教授頂きまして心より感謝いたします。

私の説明が曖昧かつ理解しにくかったことをお詫びいたします。
sumida
投稿日時: 2014/7/8 17:43
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
失礼しました。
まったくの勘違いをしておりました。
とりあえず、私の提案は、一旦取り消してください。
moment
投稿日時: 2014/7/8 14:57
対応状況: −−−
常連
登録日: 2014/6/30
居住地:
投稿: 45
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
Sumida様

長くなって大変申し訳ございませんが、ご教授いただきまして大変感謝致します。

商品は全て表示され、その商品の商品ステータスでmtb_statusの最上段のものだけが表示されるという意味です。

アドバイス通り、テーブルの連結の問題も考え(実際6テーブル連結)、いろいろと試しているのですが、やはりmtb_statusの最上段のデータだけを表示いたします。

商品一覧で表示しているようにトップページブロック(新着、おすすめ等)で各商品のそれぞれ異なる複数の商品ステータスアイコンを表示させるには、

Dtb_product_statusのproduct_status_idを抽出しなければならないのではと考えているのですが、どう思われますか。
sumida
投稿日時: 2014/7/8 11:27
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
もしかして、
NEWの商品しか表示できないということでしょうか?
そうであれば、なぜなのかわかりませんが、
(v2.13では、DBへのアクセス周りが変更されているので発生しません。)
LC_Page_FrontParts_Bloc_Recommend.php

        // おすすめ商品取得
        $col = 'T1.best_id, T1.category_id, T1.rank, T1.product_id, T1.title, T1.comment, T1.create_date, T1.update_date';
        $table = 'dtb_best_products as T1 INNER JOIN dtb_products as T2 ON T1.product_id = T2.product_id';
        $where = 'T1.del_flg = 0 and T2.status = 1';

このコードで、「T2.status = 1」とあるので、「NEW」の商品だけとなっています。なので、

        $where = 'T1.del_flg = 0';

とすれば、良いと思います。
そうなれば、T2が不要になるので

        $table = 'dtb_best_products as T1';

にしても良いと思います。
moment
投稿日時: 2014/7/8 9:55
対応状況: −−−
常連
登録日: 2014/6/30
居住地:
投稿: 45
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
Sumida様

ご教授いただきまして感謝いたします。

私のeccubeのバージョンは2.12.5なのですが、頂きました記述を試しましたところ、
Mtb_statusの最上段のデータだけを表示して、各商品ごとに商品登録時に選んだそれぞれの商品ステータスを表示しない様です。

どこか違うのでしょうか。

何とか表示させたいのですが、何か分かりませんでしょうか。
sumida
投稿日時: 2014/7/8 7:58
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: トップページのブロックに商品詳細ページで表示される商品ステータスアイコンを表示させるにはどうしたらよろしいですか。
横から失礼します。
LC_Page_FrontParts_Bloc_Recommend.php

        // おすすめ商品取得
        $arrRecommends = $objRecommend->getList(RECOMMEND_NUM);
// added
$masterData = new SC_DB_MasterData_Ex();
$this->arrSTATUS = $masterData->getMasterData('mtb_status');
$this->arrSTATUS_IMAGE = $masterData->getMasterData('mtb_status_image');
// added

recommend.tpl

                    <!--{foreach from=$arrBestProducts item=arrProduct name="recommend_products"}-->
                        <div class="product_item clearfix">
                            <div class="productImage">
                                <a href="<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}-->">
                                    <img src="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrProduct.main_list_image|sfNoImageMainList|h}-->" style="max-width: 80px;max-height: 80px;" alt="<!--{$arrProduct.name|h}-->" />
                                </a>
                            </div>
<!--{* added *}-->
                            <div class="productStatus">
                                <!--{$arrSTATUS[$arrProduct.status]}-->
                                <img src="<!--{$TPL_URLPATH}--><!--{$arrSTATUS_IMAGE[$arrProduct.status]}-->" width="60" height="17" alt="<!--{$arrSTATUS[$arrProduct.status]}-->" />
                            </div>
<!--{* added *}-->
                            <div class="productContents">
                                <h3>
                                    <a href="<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}-->"><!--{$arrProduct.name|h}--></a>
                                </h3>
                                <p class="sale_price">
                                    <!--{$smarty.const.SALE_PRICE_TITLE}-->(税込): <span class="price"><!--{$arrProduct.price02_min_inctax|number_format}--> 円</span>
                                </p>
                                <p class="mini comment"><!--{$arrProduct.comment|h|nl2br}--></p>
                            </div>
                        </div>
                        <!--{if $smarty.foreach.recommend_products.iteration % 2 === 0}-->
                            <div class="clear"></div>
                        <!--{/if}-->
                    <!--{/foreach}-->

こういうことですか?(v2.13.2ですが)
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,965名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.