質問 > その他 > 受注情報と注文確認のメールの改行が「&***lt;br&***gt;」 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tfx |
投稿日時: 2019/4/12 13:19
対応状況: −−−
|
新米 登録日: 2019/4/12 居住地: 投稿: 3 |
受注情報と注文確認のメールの改行が「&***lt;br&***gt;」 ▼テンプレート
[EC-CUBE] EC-CUBEのバージョン3.0.16 [レンタルサーバ] LOLIPOP [OS] Mac 10.14.4 [PHP] 7.1.5 [データベース] [WEBサーバ] [ブラウザ] 主にchrome [導入プラグインの有無] [カスタマイズの有無] [現象] 商品名に改行を入れたくてこのフォーラムを参考に<BR>をいれることはできました。受注情報と注文確認のメールの改行が「&***lt;br&***gt;」(ここのプレビューだと<BR>と表示されるので***を挟みました)と表示されるのを消したくてここの書き込みを参考にしてみましたがうまくいきませんでした。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=20215&forum=2 ->setBody(preg_replace("/<br>/","\n",$body)); の<br>を&***lt;br&***gt;と変更しましたが ->setBody(preg_replace("/&***lt;br&***gt;/","\n",$body)); では間違っていますでしょうか? |
joolensato |
投稿日時: 2019/4/12 15:02
対応状況: −−−
|
常連 登録日: 2019/3/20 居住地: 投稿: 51 |
Re: 受注情報と注文確認のメールの改行が「&***lt;br&***gt;」 preg_replaceではなくて申し訳ないのですが
str_replace("<br>", "\n", $value); で出来るはずです。 |
umebius |
投稿日時: 2019/4/13 17:29
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 受注情報と注文確認のメールの改行が「&***lt;br&***gt;」 twig上でもreplaceやstriptagsフィルタで対応可能ですね。 https://twig.symfony.com/doc/2.x/filters/striptags.html なお、受注情報にも「&***lt;br&***gt;」となってしまうとのことですが そもそも論として受注データにまで<br>を入れてしまうとずっと <br>が付きまとうので、本当はShoppingServiceの受注データ生成の時に置き換えてしまった方が良いと思います。
|
tfx |
投稿日時: 2019/4/15 14:18
対応状況: −−−
|
新米 登録日: 2019/4/12 居住地: 投稿: 3 |
Re: 受注情報と注文確認のメールの改行が「&***lt;br&***gt;」 ご返答ありがとうございました。
色々と調べて検討させていただきます。 |
tfx |
投稿日時: 2019/4/15 14:28
対応状況: −−−
|
新米 登録日: 2019/4/12 居住地: 投稿: 3 |
Re: 受注情報と注文確認のメールの改行が「&***lt;br&***gt;」 ご返答ありがとうございます。
受注前のご注文内容のご確認のページでも<BR>が出ているので 受注データ生成の時に置き換えたいと思いました。 src\Eccube\Service\ShoppingService.php の受注データを取得の箇所で ->setBody(str_replace("/<br>/","\n",$body)); を追加でよろしいのでしょうか? 試してみたのですがエラーになってしまいました、、 |
Ringo |
投稿日時: 2019/4/16 14:56
対応状況: −−−
|
常連 登録日: 2018/8/10 居住地: 投稿: 70 |
Re: 受注情報と注文確認のメールの改行が「&***lt;br&***gt;」 >->setBody(preg_replace("/<br>/","\n",$body));
>の<br>を&***lt;br&***gt;と変更しましたが > >->setBody(preg_replace("/&***lt;br&***gt;/","\n",$body)); >では間違っていますでしょうか? 間違っているみたいですね。 >->setBody(preg_replace("/<br>/","\n",$body)); で、改行されることを確認しました。 で、「正しく改行」させるには↓の30個の{{ ... name }}を{{ ... name|raw }}に変更する必要があります。 >受注前のご注文内容のご確認のページでも<BR>が出ているので >受注データ生成の時に置き換えたいと思いました。 > >src\Eccube\Service\ShoppingService.php > >の受注データを取得の箇所で >->setBody(str_replace("/<br>/","\n",$body)); >を追加でよろしいのでしょうか? >試してみたのですがエラーになってしまいました、、 エラーは多分 『$Order:objectに対しstr_replace():Stringは型が一致しない』 が発生しているのではないかと思います。
地道な方法↓で、一応、動作確認できました。
↓
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |