トランザクションメールのロゴを変更しようとしています。
管理者>コンテンツ>デザイン>構成>レコードの編集->トランザクションメール
Magento 2.1にありますが、保存後にロゴが壊れた画像を表示します。添付のスクリーンショットを参照してください。
トランザクションメールのロゴを変更しようとしています。
管理者>コンテンツ>デザイン>構成>レコードの編集->トランザクションメール
Magento 2.1にありますが、保存後にロゴが壊れた画像を表示します。添付のスクリーンショットを参照してください。
回答:
私もこの問題に遭遇し、一時的な解決策を作りました:
私はチェックMagento/Config/Model/Config/Backend/Email/Logo
してこの定数を見つけました:
const UPLOAD_DIR = 'email/logo';
変更して:
const UPLOAD_DIR = 'logo';
でもMagento/Email/etc/di.xml
、私email/logo
はちょうどに置き換えましたlogo
:
<item name="value" xsi:type="string">email/logo</item>
に:
<item name="value" xsi:type="string">logo</item>
コードを変更せずに回避する最も簡単な方法は
1)ディレクトリを作成するpub/media/email/logo/default
かpub/media/email/logo/stores/1/
(2.1.2で動作)
2)ロゴをディレクトリに手動でコピーします。
3)次に、正しい手順で[ コンテンツ]> [設計]> [構成]> [編集]> [国境を越えた電子メール]> [
新しく作成したディレクトリに手動で追加した同じロゴをアップロードします。
バグはまだ生きています!次の手順に従って修正してください。
<preference for="Magento\Theme\Model\Design\Backend\Logo" type="Vendor\YouModuleName\Model\Design\Backend\Logo"/>
この回避策は私のために働いた:
logo_email.pngという名前のファイルをカスタムテーマのMagento_Email / webディレクトリに追加します。
app/design/frontend/Vendor/yourtheme/Magento_Email/web directory
をコピー
<Magento_Email_module_dir>/view/frontend/email/header.html
テーマのMagento_Email / emailディレクトリにファイルします。
タグの幅と高さの属性を編集して、ロゴを表示する領域を反映します(たとえば、200×100)。
例:
{{if logo_width}}
width="{{var logo_width}}"
{{else}}
width="200"
{{/if}}
{{if logo_height}}
height="{{var logo_height}}"
{{else}}
height="100"
{{/if}}
Adminを使用してこれらの値をオーバーライドする場合に備えて、if / else条件ステートメントをそのままにしておく必要があります。
Magentoは、2.2.6バージョンのバグを修正しました。
ここにコミットがあります。
問題が2.3.0で発生している場合
メールロゴの場合: fileUploaderをimageUploaderに置き換えます
vendor / magento / module-email / view / adminhtml / ui_component / design_config_form.xml
<field name="email_logo" formElement="imageUploader">
サイトロゴの場合: fileUploaderをimageUploaderに置き換えます
vendor / magento / module-theme / view / adminhtml / ui_component / design_config_form.xml
<field name="head_shortcut_icon" formElement="imageUploader">
&
<field name="header_logo_src" formElement="imageUploader">
このバグに対する私の解決策。
1.このモジュールをapp / code / Icube / EmailLogoにコピーします。2
. php bin / magento setup:upgrade
キャッシュを展開して消去します。
https://github.com/quannh02/EmailLogoMagento2.1
以下は簡単な回避策です。ファイル構造などを変更する必要はありません。
最初に、ロゴの画像を使用して静的ブロックを作成します。必要に応じて、必要なテキストを追加します。
静的ブロックにemail-logoという名前を付けます。
次のように、電子メールテンプレートのhtmlにブロックを挿入します。
{{block class="Magento\Cms\Block\Block" area='frontend' block_id="email-logo"}}
メールからデフォルトのメールヘッダーを削除できるようになりました。
{{template config_path="design/email/header_template"}}