[解決済み] ランクの取得
- このトピックには9件の返信、3人の参加者があり、最後にmasuda-clairにより11年、 5ヶ月前に更新されました。
-
投稿者投稿
-
2013年6月12日 1:16 AM #52837masuda-clair参加者
動作に関するご質問の場合は必ずご記入ください。
WordPress のバージョン:3.5.1
Welcart のバージョン:1.3.2
ご利用のテーマ:WelCartデフォルト
症状を確認したブラウザ:IE10
サーバー(会社名、サービス名):ロカールWindows XAMPP
SSLの利用: 無し
WordPress のパーマリンク設定:
別件で、ランクの取得を教えていただいたのですが
受注時の、管理者へのメールの中へ、ランクを入れ込みたく
そのまま、該当箇所へ、入れ込んだのですが表示されません。
事前に何か作業(PHP上での作業)必要でしょうか?
教えていただいた書き方
global $usces;
$member_id = $usces->current_member;
$member_info = $usces->get_member_info($member_id);
$rank_name = $usces->member_status[$member_info];
設置個所
プラグインのデレクトリの
function/function.php
の
usces_send_ordermail
の中の
フィルター
usces_send_ordermail_para_to_manager
よろしくお願いします。
2013年6月12日 8:20 AM #66978masuda-clair参加者すみません、フィルタは使っていません
使うつもりで書いていたのですが
フィルタを使うと、とんでもなく大きなものになりそうなので
直接
function/function.php
の
usces_send_ordermail
の最後の
. ”
“. “REMOTE_ADDR : ” . $_SERVER
. ”
“後に
. “menber_rank : ” . $rank_name;
と付け加えました
2013年6月13日 2:50 AM #66979yskysmrキーマスターfunction.php を直接編集されますと、今後 Welcart のアップデートで、編集箇所は上書きされますのでご注意ください。
そのためにも、フィルターフックをご利用ください。まるごと書き換えなくても、最後に追加するだけでしたら、「usces_send_ordermail_para_to_manager」の、$order_para の $message に追加できます。
2013年6月13日 5:06 AM #66980masuda-clair参加者重々承知しています、が、環境に書いたように
ローカルでテストの環境になりますので
現状は、直接書いています。
($messageの内容を復元するため、上の方からもってくる必要がいったので)
最終的にはフックを使いますが、その時のことを含め
内容が空白(null)になっているので、何か前提でいるのか教え願えないでしょうか?
2013年6月14日 1:59 AM #66981yskysmrキーマスターfunction.php で取得する方法と、フックで引き渡される引数を使って取得する方法は、全く違います。function.php 内で取得できても、それをそのままフックに書き換えて取得できるとは限りません。
2013年6月14日 2:24 AM #66982masuda-clair参加者フックと直接書くのが違うのはわかっているつもりです。
なので、フックをやめて、直接書いたのですが、取得できなかったと・・・
フックで書けばオーダーメールの関数をほぼすべて書き写す必要があったので
とりあえず、ローカルだし確認ができれば、フックに書き直そうと・・・
で、直接書いてうまくいかない、のはなぜか?
また、これをフックに書き直す時の注意点が知りたかったのですが・・・
すみません、わがままで
2013年6月17日 4:52 AM #66983masuda-clair参加者その後、サイト全体を元に戻し
本来インターネットサイトの公開していたサイトを
ファイル、データベースをダウンロードして
ロカールPCへ(XAMPPを使って)再構築していましたので
改めて、ファイルとデータベーステスト開始時に戻しました
改めて、フィルターを使って、書き直しましたが
やはり「ランク名」が取得できません
追加した内容その物がおかしいか確認の為
ランク名の前に「ランク名は」とコメントを入れて
テストしましたが、「ランク名は」の文字は表示されています
(フィルターそのものは正しく動作している)
最初に書いた、教えていただいた4行以外に
何か取得しておくなり、参照しないといけないものは
ないのでしょうか?
2013年6月17日 9:16 AM #66984nanbuキーマスターこんにちは。
ランク名の取得の前にメンバーIDが取得できているかを確認してみて下さい。
2013年6月18日 1:37 AM #66985masuda-clair参加者投稿後、デバックとして
「var_dump($usces);」
を適当な個所に設置して内容を確認しましたが
メンバーは「ゲスト」になっていました。
もちろん、ログインしてテストしています。
多分、メンバーを特定できていない状態で
取得しようとしているようです。
フィルタの
usces_send_ordermail_para_to_manager
で、最後の「REMOTE_ADDR」の後ろに
ランクを出そうとしています。
フィルタ内に必須の条件は、何になるでしょう?
私も調べてゆこうと思いますが、定番的にこうすればいいというのが
あれば、お教えください。
2013年6月18日 8:55 AM #66986masuda-clair参加者何とか自己解決しました
ランクは、お教えいただいた方法以外にも
このサイトに出ていた関数でもできることはわかっていたのですが
フィルタにしたとき、メールアドレスや、合計金額・支払方法が
空白になってしまい、ちょっとパニックりましたが、
var_dumpで変数をウォッチしながら、関数へ引き渡すパラメタを変えて
ようやく、希望のものが出せるようになりました
キーワードは「$entry」と「$data」です
-
投稿者投稿
- このトピックに返信するにはログインが必要です。