마 젠토 2 : 관리자로부터 거래 이메일 로고를 업로드하지 못함


27

거래 이메일 로고를 변경하려고합니다.

관리> 컨텐츠> 디자인> 구성> 레코드 편집-> 거래 이메일

Magento 2.1에 있지만 저장 후 깨진 이미지가 표시되는 로고입니다. 첨부 된 스크린 샷을 참조하십시오.

여기에 이미지 설명을 입력하십시오


1
이미지를 찾을 수 없으므로 이미지가 표시됩니다. 마우스 오른쪽 버튼을 클릭하고 요소 쇼 이미지 페이지를 검사하고 확인 당신이 솔루션을 찾을 수 .may
Hitesh Vaghasiya

1
이후 요소가 /pub/media/email/logo/stores/1/email_logo.png을 보여주는 검사하지만, 현재 디렉토리 /pub/media/logo/websites/1/email_logo.png에 저장 로고 이메일
더 그랜드 Kaushik이

1
나는 그것이 Magento 2.1의 버그라고 생각한다
Lalit Kaushik

1
Magento 2.1.3에서 여전히이 문제에 직면하고 있습니다. 코어 파일을 변경하는 것 외에 다른 해결책이 있습니까 ??
BornCoder

최신 버전 2.2.6을 실행하는 것은 여전히 ​​문제입니다. 나는 절대적으로 성공하지 못한 채 dirs와 파일을 수동으로 만들려고했습니다. magento의 개발자가 가장 기본적인 CMS 101 기능 중 일부를 해결하지 못했다는 것은 우스운 일이 아닙니다.
Marco Yammine

답변:


9

또한이 문제가 발생하여 임시 해결책을 만들었습니다.

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>

작동하지만 이메일에 반영되지 않습니다
Rajan Soni

그것은 작동하지만 이메일 Same.any idea에 반영되지 않습니다?
Magento2 Devloper

9

코드를 수정하지 않고 가장 쉬운 해결 방법은

1) 디렉토리를 만들 pub/media/email/logo/default 거나 pub/media/email/logo/stores/1/(2.1.2에서 작동)

2) 로고를 디렉토리에 수동으로 복사하십시오.

3) 그런 다음 올바른 절차를 통해 내용> 디자인> 구성> 편집> 다국적 이메일>

이제 새로 만든 디렉토리에 수동으로 추가 한 동일한 로고를 업로드하십시오.


이것은 버전 2.1.7에서 여전히 문제입니다 !!!
styzzz

이 솔루션은 놀랍게도 효과적입니다 (권한을 설정해야 함)
nicolallias

그 나를 위해 작동하지 않습니다
Sarvesh Tiwari 보낸

@ErSarveshVTiwari 2.1.2 버전의 디렉토리 경로가 있습니다-귀하의 버전과 작동합니까? 응답에 따라 버전을 지정할 수 있습니까?
Nolwennig

@styzzz 2.1.2 버전의 디렉토리 경로가 있습니다-2.1.7 버전에서 작동합니까?
Nolwennig

3

이것은 2.1.2 이하의 버그입니다. 이미지를 업로드 한 후 pub / media / email / logo / websites / 1 /의 잘못된 디렉토리로 이동합니다.

pub / media / logo / websites / 1 /이어야합니다.

파일 참조 : app / code / Magento / Email / Model / AbstractTemplate.php

최신 2.1.2에는 아직 포함되어 있지 않습니다. 다음 릴리스에서 수정 사항이 구현되기를 기다리는 동안 올바른 디렉토리에 이미지를 업로드 할 수 있습니다.


1

버그는 여전히 살아있다! 다음 단계에 따라 수정하십시오.

  • 사용자 정의 모듈에 di.xml 을 만듭니다.
  • 더하다 <preference for="Magento\Theme\Model\Design\Backend\Logo" type="Vendor\YouModuleName\Model\Design\Backend\Logo"/>
  • Vendor \ YouModuleName \ Model \ Design \ Backend \ Logo.php 파일을 만듭니다.
  • const UPLOAD_DIR = 'logo'를 바꾸십시오 ; const를 UPLOAD_DIR = '이메일 / 로고';
  • 그것을 테스트하십시오! ;)

1

이 해결 방법은 저에게 효과적이었습니다.

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}}

관리자를 사용하여이 값을 무시하려면 if / else 조건문을 그대로 두어야합니다.


1

새 이메일 템플릿을 열고 템플릿을로드 한 다음 미리보기를 클릭하십시오. 미리보기 후 로고를 클릭하십시오. Magento가 선택하는 경로가 표시됩니다. 경로로 이동하여 이전 로고를 삭제하고 업로드하십시오. 문제가 해결 될 것입니다.


1

Magento는 2.2.6 버전에서 버그를 수정했습니다.

https://github.com/magento/magento2/commit/23103c03c527fe1ed3e1a3be691436818b7963fe#diff-6b96f29ad945c7cea90267bd4f533218L12

여기에 커밋이 있습니다.


2.1에서 해결 되었습니까? composer로 2.1 설치를 업데이트했지만 해결되지 않은 것 같습니다. 어떻게 업데이트 할 수 있습니까?
cha

지금 고쳐 졌는지 모르겠습니다. 수동으로 변경합니다.
Victor Piolin

1
아직 2.1.2에서 수정되지 않았습니다.
jehzlau 1

1
2.1.3에서는 아직 수정되지 않았습니다.
BornCoder

1
2.1.4에서 수정되지 않았으며 완전한 농담.
LM_Fielding

1

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">


0

다음은 간단한 해결 방법입니다. 파일 구조 등을 변경할 필요가 없습니다.

먼저 로고 이미지가있는 정적 블록을 만듭니다. 필요한 경우 필요한 텍스트를 추가하십시오.
정적 블록의 이름을 email-logo로 지정하십시오.
다음과 같이 이메일 템플릿의 html에 블록을 삽입하십시오.

{{block class="Magento\Cms\Block\Block" area='frontend' block_id="email-logo"}}

이제 이메일에서 기본 이메일 헤더를 제거 할 수 있습니다.

{{template config_path="design/email/header_template"}}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.