バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 注文メールのsfSendOrderMailを他のディレクトリから起動したい。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bio
投稿日時: 2020/6/17 23:14
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 75
注文メールのsfSendOrderMailを他のディレクトリから起動したい。
お世話になっております。

お客が商品を購入する際に以下の確認ページに行きつきますが、

httpdocs/data/class/pages/shopping/LC_Page_Shopping_Confirm.php

このページに以下の記述があり、$objHelperMail->sfSendOrderMailによってお客が購入を完了した時点で、お客様にメールが送信される仕組みになっていると思います。

$objHelperMail->sfSendOrderMail(
$this->arrForm['order_id'],
$template_id);

上記の仕組みを別のファイルを使い以下のディレクトリから同様に$objHelperMail->sfSendOrderMailを起動し、メールを送信したいのですが、$objPurchase、$objHelperMailなどのディレクトリの関係かメールが送信されません。このような場合、どの様な設定にすれば可能になるかお教え願いませんでしょうか?

httpdocs/xxxx/shopping_confirm.php


EC-CUBE 2.13.5
(データベース) MySQL5.0.77
(WEBサーバ) apache2
(OS) Windows XP
(PHP) 5.0.22
468
投稿日時: 2020/6/18 9:51
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2494
Re: 注文メールのsfSendOrderMailを他のディレクトリから起動したい。
「他のディレクトリから起動」という趣旨がよく分からないのですが
独自のphpファイル(今回はshopping_confirm.php)で
$objMail->sfSendOrderMail()のメソッドを利用したいという事でしょうか?

shopping_confirm.phpは
require_once '../require.php';
の記述はされているのでしょうか?

あと、メールが送信されないとは、何かエラーが出ていたりするのでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

bio
投稿日時: 2020/6/18 21:09
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 75
Re: 注文メールのsfSendOrderMailを他のディレクトリから起動したい。
468様、

ご教授感謝致します。

また、説明が不明瞭、かつ不十分で申し訳ございません。

仰る通りで、目的は異なるディレクトリに配置した独自のphpファイルから$objHelperMail->sfSendOrderMailを起動し、メールを送信することですが、eccubeのエラーはログに作成されず、メールも送信されません。

一応、簡略化したものが以下です。以下の設定で確認ボタンがクリックされ、send_mail関数が起動されれば、メールが送信されると考えて宜しいでしょうか?

この様な状況で何かアドバイス当はございますでしょうか?

httpdocs/xxxx/shopping_confirm.php

shopping_confirm.php

<?php

require_once '../require.php';

funnction send_mail(){
$order_id = $_SESSION['order_id'];
$objHelperMail = new SC_Helper_Mail_Ex();
$template_id = SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE ? 2 : 1;
$objHelperMail->sfSendOrderMail(
$order_id,
$template_id);
}

?>

<form action='xxxxxx.php' METHOD='POST'>
<input name="xxxx" id="xxxx" type="text" value="xxxx" />
<input type="submit" value="確認" />
<?php mail_send(); ?>
</form>
468
投稿日時: 2020/6/18 23:35
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2494
Re: 注文メールのsfSendOrderMailを他のディレクトリから起動したい。
メールの送信の部分の記述については、その記述で動くのではないかと思いますが
(実際に動かしていないのでなんとも言えませんが...)

あと、簡略化されているからかとも思ったのですが
htmlの出力の中でmail_send()を呼んでいるので
ページを描画すると同時にメールが送信されるようなソースになっているかと思います。

確認ボタンを押した時(ブラウザ側での操作)の後に送信したいという事であれば、
確認ページの描画とメール送信の通信(リクエスト/レスポンス)は別々になるかと思います。

もし、ご存じでしたら大変申し訳ないのですが
PHPはサーバサイドの処理を記述する事になるかと思いますので
ブラウザ上での操作に対するアクション(クライアントサイドの処理)は制御できないと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

bio
投稿日時: 2020/6/21 13:40
対応状況: 解決済
一人前
登録日: 2013/3/13
居住地:
投稿: 75
Re: 注文メールのsfSendOrderMailを他のディレクトリから起動したい。
468様、

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

ご指摘の通り試してみたところ、期待通りになりました。

formの送信先phpでsfSendOrderMailを起動させたところ、メールが送信されました。

お時間を頂きまして、本当に感謝いたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,559名です
総投稿数は97,284件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2494
4
nanasess
2089
5
umebius
1651
6
yuh
1612
7
red
1411
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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