バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

機能要望 > フロント機能 > 詳細ページでの特定の会員に特定の商品[ビデオ]を表示する方法

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
DigiLove
投稿日時: 2009/4/1 17:04
対応状況: −−−
半人前
登録日: 2009/1/7
居住地: 熊本
投稿: 24
詳細ページでの特定の会員に特定の商品[ビデオ]を表示する方法
1.詳細ページで有料会員様限定でビデオを閲覧できるようにする。
2.無料会員様は無料ビデオだけ閲覧できる。また、有料ビデオの場合は“この動画は有料です。チケットを購入後ご覧ください。”のメッセージをページに表示させる。
3.会員様以外は、“動画の公開は会員のみの公開になります。動画を閲覧する場合はログインしてください”をページに表示させる。
4.有効期限を設けて、DBでdtb_customerにexpiration_dateというフィールドを作り参照させて、有効期限が過ぎればコンテンツが表示されないようにする。

4.に関しては、現在後回しにしています・・・orz

作業内容は、DBのdtb_customerapplicationのデータ型char(11)という新しいフィールドを追加してこの中にwidows_xpやphotoshop_cs4などの情報を書き込み参照させようとしました。

LC_Page_FrontParts_Bloc_Login.phpのログイン判定で
$this->tpl_application = $objCustomer->getValue('application');を追加して

// ログイン判定
if($objCustomer->isLoginSuccess()) {
$this->tpl_login = true;
$this->tpl_user_point = $objCustomer->getValue('point');
$this->tpl_name1 = $objCustomer->getValue('name01');
$this->tpl_name2 = $objCustomer->getValue('name02');
$this->tpl_application = $objCustomer->getValue('application');
} else {


detail.tplに以下のタグを表示させたのですがelseifの<!--{$arrProduct.main_comment}-->だけがうまくいきません。

<!--★詳細メインコメント★-->
<!--▼ログイン状態判定-->
<!--{if $tpl_login && $tpl_application != "windowsxp"}-->
この動画は有料です。<br />
チケットを購入後ご覧ください。
<!--{elseif $tpl_login && $tpl_application == "windowsxp"}-->
<!--{$arrProduct.main_comment}-->
<!--{else}-->
動画の公開は会員のみの公開になります。<br />
動画を閲覧する場合はログインしてください。 </p>
<!--{/if}-->

ログインしない場合とログインした状態ではメッセージ表示されるのですが、DBにwindowsxpを入れた状態でログインしてもこの動画は有料ですのメッセージが表示されます。

この他にも管理画面から登録修正ができるようにしなくてはいけないと思いますが、基本動作ができないことにはそちらに進めません。

どこか書き方を間違っているのでしょうか?それとも根本的に違うところを修正する必要があるのでしょうか?

分かる方がいたらよろしくお願いします。

==========================================
EC-CUBEバージョン 2.3.4
PHPバージョン PHP 5.2.8
DBバージョン MySQL 5.1.30-community
==========================================
seasoft
投稿日時: 2009/4/1 17:11
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 詳細ページでの特定の会員に特定の商品[ビデオ]を表示する方法
とりあえず、Smarty で $tpl_application に何が入っているかは確認済みですか?

参考になれば。
http://seasoft.jp1.cx/ec/tips/smarty


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

DigiLove
投稿日時: 2009/4/1 19:01
対応状況: −−−
半人前
登録日: 2009/1/7
居住地: 熊本
投稿: 24
Re: 詳細ページでの特定の会員に特定の商品[ビデオ]を表示する方法
確認してみましたが、現状ではNULLが入っているようです。

確認は、ログイン判定後の</if>の後に
<!--{$tpl_application|@var_export}-->
で表示させました。

$tpl_applicationの値を受け取っていないようです・・・。

プログラムの動きを試すために試しにlogin.tplの
<!--{$tpl_name1|escape}-->

<!--{$tpl_name3|escape}-->に変更して

LC_Page_FrontParts_Bloc_Login.phpの
$this->tpl_name1 = $objCustomer->getValue('name01');を

$this->tpl_name3 = $objCustomer->getValue('name03');に変更

DBのテーブルdtb_customerの
name01フィールドを

name03に変更

して動きを確認したのですが、ログインブロックの苗字部分(name01部分)が表示されなくなりました。

ということは、別のテーブルのフィールドを参照してるのでしょうか?

他に怪しいところはなさそうなのですが・・・orz
seasoft
投稿日時: 2009/4/1 20:18
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 詳細ページでの特定の会員に特定の商品[ビデオ]を表示する方法
> ということは、別のテーブルのフィールドを参照してるのでしょうか?

必ずしもテーブルを直接参照しているとは限らないと思います。
getValue メソッドの処理を追跡するのが吉かも。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,435名です
総投稿数は110,087件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1305
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.