バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > お問い合わせ管理機能設定

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ecbg
投稿日時: 2009/4/9 9:56
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
お問い合わせ管理機能設定
以下を参考にカスタマイズを行い、「お問い合わせ機能」は追加できたのですが、
「お問い合わせ管理機能」の手順を行い、動作確認したところ、
メール配信画面に推移した後、テンプレート選択にて作成した
「contact_re_mail.tpl」を選択してもヘッダー、フッター等に何も表示されません。
その状態で「送信内容の確認」をクリックすると以下のようなエラー
が本文部分に表示されます。

【参考ページ】
http://wiki.ec-orange2.jp/index.php?%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%EF%BC%9A%E5%BF%9C%E7%94%A8%2F%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E7%AE%A1%E7%90%86%E6%A9%9F%E8%83%BD

【エラー内容】
<br />
<b>Warning</b>: Smarty error: unable to read resource:
"mail_tenplates/contact_re_mail.tpl" in
<b>D:\CustomerData\webspaces\〜省略〜\data\module\Smarty\libs\Smarty.class.php</b>
on line <b>1095</b><br />

ちゃんと希望したテンプレートIDが取得されているかなど、
画面上にてエラー箇所を絞り込みたいのですが、
何か方法等ございましたらご教授頂けますでしょうか。

EC CUBE環境は以下のとおりです。
EC-CUBEバージョン: 2.3.0
PHPバージョン PHP: 5.2.5
DBバージョン MySQL: 4.1.21
seasoft
投稿日時: 2009/4/9 9:59
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: お問い合わせ管理機能設定
気になるところ、赤マークしておきます。

【エラー内容】
<br />
<b>Warning</b>: Smarty error: unable to read resource:
"mail_tenplates/contact_re_mail.tpl" in
<b>D:\CustomerData\webspaces\〜省略〜\data\module\Smarty\libs\Smarty.class.php</b>
on line <b>1095</b><br />


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

ecbg
投稿日時: 2009/4/9 15:49
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: お問い合わせ管理機能設定
>seasoftさま

いつもご丁寧にお教え頂き有難うございます。

システム設定>マスタデータ管理>mtb_mail_tpl_path
の値を「mail_templates/contact_re_mail.tpl」
としましたら、正常にテンプレートを読むことができました!

その後、メール送信まで行ったのですが、お問い合わせ先のメールに飛ばず、
基本情報管理のメールアドレスにメールが配信されてしまいます。


問い合わせemilアドレスが格納されるDB「dtb_mail_history」の
「email」がNULLのままになっているので、前項で作成した「dtb_contact」の
「email」が上手く渡されていないようなのですが、
考えられる箇所等ございましたらお教え頂けますでしょうか。

重ね重ね申し訳ございません。
seasoft
投稿日時: 2009/4/9 16:23
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: お問い合わせ管理機能設定
斜め読みでして、何をする機能なのかさえも理解していませんが、$arrRet をダンプすると何か分かる予感はします。


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

ecbg
投稿日時: 2009/4/9 19:01
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: お問い合わせ管理機能設定
seasoftさま

いつもアドバイス有難うございます!

ダンプで調べて
var_dump($arrRet);

print_r($arrRet);

といったコードを見つけ、該当しそうなphpファイル内に記述してみたのですが、
上手$arrRetの内容を表示することができませんでした。

ダンプの方法や使用箇所等お教え頂けませんでしょうか?

お手数お掛けして申し訳ありません。。
seasoft
投稿日時: 2009/4/9 19:06
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: お問い合わせ管理機能設定
> ダンプの方法や使用箇所等お教え頂けませんでしょうか?

方法は、それで良いと思いますが、ダンプ後にリダイレクトが発生しているかもしれないので、
exit;
を付加したほうが良いかもしれません。


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

ecbg
投稿日時: 2009/4/10 13:15
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: お問い合わせ管理機能設定
seasoftさま

いつもアドバイス有難うございます。

exit;を記述することで、変数の持つ値を拾うことができました。
やはり「SC_Helper_Mail.php」の下記の場所にてお問合せのメールが格納されるべき
「$arrRet[0]["email"]」がNULLなのが問題なのは分かったのですが、
解決まで至っておりません。


$objSendMail = new SC_SendMail_Ex();
$bcc = $arrInfo['email01'];
$from = $arrInfo['email03'];
$error = $arrInfo['email04'];

$tosubject = $this->sfMakeSubject($objQuery, $objMailView, $objPage, $tmp_subject);

$objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error, $bcc);
$objSendMail->setTo($arrRet[0]["email"], $arrRet[0]["name"] . " ". $arrRet[0]["name_f"] ." 様");


もう少し、いろいろコードを追って行きたいと思います!
ecbg
投稿日時: 2009/4/10 16:36
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: お問い合わせ管理機能設定
いろいろとコードを辿ってみたのですが、やはり「SC_Helper_Mail.php」内の「$contact_id」内に
DB「dtb_contact」内の値が呼び出せていないようです。


/* 該当SC_Helper_Mail.phpソース */
/* 返信メール送信 */
function sfSendContactMail($contact_id, $template_id, $subject = "", $header = "", $footer = "", $send = true) {

$objPage = new LC_Page();
$objSiteInfo = new SC_SiteInfo();
$arrInfo = $objSiteInfo->data;
$objPage->arrInfo = $arrInfo;

$objQuery = new SC_Query();

if($subject == "" && $header == "" && $footer == "") {
// メールテンプレート情報の取得
$where = "template_id = ?";
$arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array('1'));
$objPage->tpl_header = $arrRet[0]['header'];
$objPage->tpl_footer = $arrRet[0]['footer'];
$tmp_subject = $arrRet[0]['subject'];
} else {
$objPage->tpl_header = $header;
$objPage->tpl_footer = $footer;
$tmp_subject = $subject;
}

// 問合せ情報の取得
$where = "contact_id = ?";
$arrRet = $objQuery->select("*", "dtb_contact", $where, array($contact_id));
                                                 ↑↑↑↑↑

何かお気付きの点等ありましたら、お教え下さい!
seasoft
投稿日時: 2009/4/10 16:43
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: お問い合わせ管理機能設定
さきほど、ざっとソースを眺めた感じだと、逆れだと思いましたよ。

sfSendContactMail の第1引数である $contact_id をキーとして、 dtb_contact を参照しているのだと思います。

なので、$contact_id に何が渡されて呼ばれているのかが、まずはデバッグポイントとなりそうな気がします。


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

ecbg
投稿日時: 2009/4/10 17:00
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: お問い合わせ管理機能設定
seasoftさま

いつもアドバイス有難うございます。

sfSendContactMailの$contact_idで既にNullとなっていました。
手順どおりSC_Helper_Mail.phpにテンプレートを追記しただけだったので、
引数がどのファイルから渡されているかなど、詳しいところも分らず、
成すすべがなくなってしまいました。


前項の「応用/お問い合わせ機能」の「LC_Page_Admin_Customer_Contact_Detail.php」
では$contact_idが機能しているので、参考にしているのですが、
煮詰まってしまいました。勉強不足です…
(1) 2 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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