プラグイン > その他 > 配送伝票番号プラグイン(3.0系)でメール送信できない |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tirco |
投稿日時: 2020/4/3 18:59
対応状況: −−−
|
半人前 登録日: 2020/2/6 居住地: 投稿: 22 |
配送伝票番号プラグイン(3.0系)でメール送信できない ▼テンプレート
[EC-CUBE] EC-CUBE3.0.18 [レンタルサーバ] kagoya [OS] Linux [PHP] 7.0.28 [データベース] MySQL 5.6.36 [WEBサーバ] Apache [ブラウザ] Chrome/80.0.3987.87 [導入プラグインの有無] チェックボックスでカテゴリー複数指定が簡単になるプラグイン、注文ステータス一括変更プラグイン、Coupon、会員ランクプラグイン、GmoPaymentGateway、EC-CUBE後払い 決済プラグイン、MailMagazine、メール設定プラグイン、OrderPdf、Pointプラグイン、配送伝票番号csv一括登録 [カスタマイズの有無] 受注CSVのダウンロード項目を増やしています [現象] 配送伝票番号プラグイン(3.0系)で、発送メール送信が上手く機能せずに困っています。 そもそも対応verが3.0.15までではあるのですが、配送伝票番号のCSV一括取込・反映と、メールの個別送信(メール通知から)はできています。 詳しくご説明すると、以下のような状態です。 (受注ごとの個別送信) ・受注マスタ>メール通知>発送メール送信 →○ 配送伝票番号が入ったメールが送信される ・受注マスタ>発送メール通知>発送メール送信 →× 「送信内容を確認」ボタンを押した時点でシステムエラー表示 デバックで見ると、以下の表示が出ます。 ClassNotFoundException in ShippingMailController.php line 84: Attempted to load class "NotFoundHttpException" from namespace "Plugin\ShipNumberCsv\Controller". Did you forget a "use" statement for "Symfony\Component\HttpKernel\Exception\NotFoundHttpException"? (一括送信) ・受注マスタ>メール一括通知>発送メール送信 →× 「送信内容を確認」の時点で配送伝票番号が入っていない。送信してもそのまま空欄で送られる。 デバックで見ると特に何も表示が出ませんが、やはり送信しても配送伝票番号が空欄になります。 ・受注マスタ>発送メール通知>発送メール送信 →× そもそも「発送メール通知」のメニューが出ません。 mailからは機能するのに対し、mail_allからの挙動が上手くいっていないような感じです。 最終的に、メール一括通知からでも発送メール通知からでも良いので、 発送完了メールを一括で送れればいいと思っています。 どなたかわかる方がいらっしゃったらよろしくお願いいたします。 |
468 |
投稿日時: 2020/4/4 1:46
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない 無料プラグインかと思いますが念の為、配布元の企業様に問い合わせされたほうが良いのではないでしょうか?
あと、プラグインの説明ページを見てみると ※ver1.0.4からメールの一括送信方法が変わりましたので、ご注意下さい。 とあり、その他>発送メール通知を利用するように説明がありますが そのようなリンクは表示されていないという事でしょうか? https://www.ec-cube.net/products/detail.php?product_id=1007 受注毎の個別送信の >・受注マスタ>発送メール通知>発送メール送信 の時点でClassNotFoundExceptionが発生していますので プラグイン自体が正常に動作していない、またはそもそも3.0.18では動作しない可能性が高いと思います。
|
tirco |
投稿日時: 2020/4/4 8:27
対応状況: −−−
|
半人前 登録日: 2020/2/6 居住地: 投稿: 22 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない >468様
ご返信ありがとうございます! 引用:
おっしゃる通り無料プラグインで、 開発元様にも問い合わせしております。 引用:
個別送信の際は「発送メール通知」が表示されるのですが、 一括送信の際は「発送メール通知」は表示されない状態です。 引用:
なるほど。。発送伝票番号のCSV取込・保存に関しては上手くいっていて、個別送信の際は発送伝票番号が入るので、できれば活用したいと思っています。 例えば、Mail/order.twigからプラグインdbのデータを取りに行くなどできないものでしょうか? |
468 |
投稿日時: 2020/4/4 11:35
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない >個別送信の際は「発送メール通知」が表示されるのですが、
>一括送信の際は「発送メール通知」は表示されない状態です。 この辺りの挙動から考えて、他のプラグインとの競合の可能性も考えられます。 通常であれば、受注一覧右上のその他の下に「発送メール通知」リンクが追加されるものかと思いますが 例えば、その他の下に「発送メール通知」リンクが追加されたものの 他のプラグインがさらにそこを更新してリンクを削除している等の可能性も考えられます。 >例えば、Mail/order.twigからプラグインdbのデータを取りに行くなどできないものでしょうか? データは正常に保存されていると思われますので プログラムをカスタマイズすれば実現は可能かと思います。
|
tirco |
投稿日時: 2020/4/4 14:45
対応状況: −−−
|
半人前 登録日: 2020/2/6 居住地: 投稿: 22 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない なるほど、ありがとうございます。
試しに、受注一覧の「その他」に出てくる「納品書」と「受注ステータス一括変更」について、プラグインを無効にしたり、高度な設定から優先度を変更してみましたが変わりませんでした。「ポイントプラグイン」など他のプラグインかもしれないですね。 仮に一括の発送メール通知リンクが表示できたとしても、 個別の「発送メール通知」が上手くいかないので、 一括の「発送メール通知」も上手くいかなそうな気がします。 468さまのおっしゃる通り、データは正常に保存されていて、 個別の通常のメール通知は成功しています。 カスタマイズする場合は、Mail/order.twigだけでなく、Entityやコントローラーなどを変更していく感じでしょうか? |
468 |
投稿日時: 2020/4/5 11:38
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない カスタマイズはどこに手を加えるかによって、該当ファイルは変わってくるかと思いますが
本体を直接カスタマイズするのであれば、 コントローラークラスかサービスクラスに該当データ(配送伝票番号)をtwigに渡す処理を追加する事になるかと思います。 テーブル構造がどのようになっているか分かりませんが 多分、プラグイン用に独立したテーブルになっているかと思いますので OrderEntityを元に配送伝票番号を持つEntityを取得する必要もあるのではないかと思います。 リレーションが設定されてOrder->get***()で配送伝票番号を取得できるようであれば、 phpを触らずにtwigのみの変更だけで対応できるのではないかと思います。
|
tirco |
投稿日時: 2020/4/5 16:37
対応状況: −−−
|
半人前 登録日: 2020/2/6 居住地: 投稿: 22 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない ありがとうございます。
本体をカスタマイズする方向で考えたいと思います。 おっしゃる通り、テーブルは独立したプラグインテーブルで、 リレーションは設定されていないので、 OrderEntityを元に配送伝票番号を持つEntityを取得する ↓ コントローラークラスかサービスクラスに該当データ(配送伝票番号)をtwigに渡す処理を追加する という流れになりますでしょうか? |
468 |
投稿日時: 2020/4/6 0:02
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない そのような流れになるかと思います。
プラグイン内部にRepositoryクラスが存在しているかと思います。 そのRepositoryクラスがOrderを元に配送伝票番号を持つEntityを返すメソッドを持っている可能性が高いのではないかと思いますので Entityの取得はそのメソッドをそのまま利用する形になるかと思います。 Entityを取得出来れば、メール本文のtwigにEntityを渡せばよいと思います。 デフォルトではMailService.phpでtwigに配列でヘッダー、フッター、Orderを渡しているかと思いますので そこに取り出したEntityを追加すれば良いかと思います。
|
tirco |
投稿日時: 2020/4/6 0:34
対応状況: −−−
|
半人前 登録日: 2020/2/6 居住地: 投稿: 22 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない プラグイン内部のRepositoryを確認したところ、
namespace、use、classがあり、classの中身は空のようです。 引用:
これをこのまま例えばOrderRepositoryなどに持っていく形でしょうか? |
tirco |
投稿日時: 2020/4/6 15:52
対応状況: 解決済
|
半人前 登録日: 2020/2/6 居住地: 投稿: 22 |
Re: 配送伝票番号プラグイン(3.0系)でメール送信できない とりあえず、プラグインからの「発送メール通知」が動作していないため、
プラグイン内のメール発送部分(伝票番号:を置き換える部分と、「発送メール通知」のリンクを生成する部分)をコメントアウトしました。 併せて、event.ymlのメール発送関連のイベントも削除しました。 Repository、Entity、doctrineに関して、 プラグイン内のものをコピーし、中身(namespaceなど)を変更したものを本体側にアップし、 Orderのdoctrine(Eccube.Entity.Order.dcm.yml)も変更した上で、 Order.phpから無事取得できました。 468さま、丁寧に教えていただいてありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |