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