Magento 2: non riesce a caricare un logo e-mail transazionale dall'amministratore


27

Sto cercando di cambiare il logo e-mail transazionale da.

Ammin.> Contenuto> Progettazione> Configurazione> Modifica qualsiasi record -> Email transazionali

È su Magento 2.1 ma il logo mostra un'immagine rotta dopo il salvataggio. si prega di fare riferimento alla schermata allegata.

inserisci qui la descrizione dell'immagine


1
L'immagine non è stata trovata, quindi mostra il loro. fai clic con il pulsante destro del mouse e ispeziona l'elemento mostra la pagina dell'immagine e controllalo. Forse trovi la soluzione
Hitesh Vaghasiya,

1
dopo che inspect element sta mostrando /pub/media/email/logo/stores/1/email_logo.png ma attualmente il logo e-mail salvato nella directory /pub
Lalit Kaushik

1
Sento che è un bug in Magento 2.1
Lalit Kaushik il

1
Sto ancora affrontando questo problema in Magento 2.1.3. C'è qualche soluzione diversa dalla modifica dei file core ??
BornCoder

L'esecuzione dell'ultima versione della 2.2.6 non è ancora un problema. Ho provato a creare manualmente le directory e i file senza alcun successo. È ridicolo che gli sviluppatori di Magento non abbiano risolto alcune delle funzionalità di base di CMS 101.
Marco Yammine,

Risposte:


9

Ho riscontrato anche questo problema e ho creato una soluzione temporanea:

Ho controllato Magento/Config/Model/Config/Backend/Email/Logoe ho trovato questa costante:

const UPLOAD_DIR = 'email/logo';

e lo ha cambiato in:

const UPLOAD_DIR = 'logo';

anche in Magento/Email/etc/di.xml, ho sostituito email/logocon solo logo:

<item name="value" xsi:type="string">email/logo</item>

a:

<item name="value" xsi:type="string">logo</item>

Funziona ma non si rifletterà sulle e
Rajan Soni,

Funziona ma non si rifletterà sulle e-mail. Idee uguali?
Magento2 Devloper

9

Il modo più semplice per aggirare senza modificare il codice è

1) creare la directory pub/media/email/logo/default o pub/media/email/logo/stores/1/(funziona su 2.1.2)

2) copiare il logo nella directory manualmente.

3) Quindi tramite la procedura corretta Contenuto> Progettazione> Configurazione> Modifica> Email transnazionali>

Ora carica lo stesso logo che hai aggiunto manualmente alla directory appena creata.


QUESTO È ANCORA UN PROBLEMA NELLA VERSIONE 2.1.7 !!!
styzzz,

questa soluzione è stata sorprendentemente efficace (ricordati di impostare le autorizzazioni)
nicolallias

non funziona per me
Sarvesh Tiwari,

@ErSarveshVTiwari Avevo il percorso della directory per la versione 2.1.2 - Funziona con la tua versione? Puoi specificare la tua versione in risposta per favore
Nolwennig,

@styzzz Ho avuto il percorso della directory per la versione 2.1.2 - Funziona con la tua versione 2.1.7?
Nolwennig,

3

Questo è un bug in 2.1.2 e precedenti. Dopo aver caricato l'immagine, va nella directory sbagliata su pub / media / email / logo / website / 1 /

Dovrebbe essere pub / media / logo / siti web / 1 /

Rif. File: app / code / Magento / Email / Model / AbstractTemplate.php

Non è ancora incluso nell'ultima 2.1.2. Puoi semplicemente caricare l'immagine nella directory corretta mentre attendi che la correzione venga implementata nella prossima versione.


1

Il bug è ancora vivo! Seguire questi passaggi per correggerlo:

  • crea di.xml nel tuo modulo personalizzato
  • Inserisci <preference for="Magento\Theme\Model\Design\Backend\Logo" type="Vendor\YouModuleName\Model\Design\Backend\Logo"/>
  • crea il file Vendor \ YouModuleName \ Model \ Design \ Backend \ Logo.php
  • sostituire la const UPLOAD_DIR = 'logo'; con const UPLOAD_DIR = 'email / logo';
  • Provalo! ;)

1

Questa soluzione ha funzionato per me:

Aggiungi un file chiamato logo_email.png a una directory Magento_Email / web nel tuo tema personalizzato:

app/design/frontend/Vendor/yourtheme/Magento_Email/web directory

Copia il

<Magento_Email_module_dir>/view/frontend/email/header.html

file in una directory Magento_Email / email nel tema.

Modifica gli attributi di larghezza e altezza del tag in modo che riflettano l'area in cui desideri visualizzare il tuo logo (ad esempio, 200 × 100).

Esempio:

{{if logo_width}}
    width="{{var logo_width}}"
{{else}}
    width="200"
{{/if}}

{{if logo_height}}
    height="{{var logo_height}}"
{{else}}
    height="100"
{{/if}}

Dovresti lasciare l'istruzione condizionale if / else in atto nel caso in cui desideri mai sovrascrivere questi valori usando l'Amministratore.


1

Apri il nuovo modello e-mail, carica qualsiasi modello e fai clic su Anteprima. Dopo l'anteprima fare clic sul logo. Mostrerà il percorso in cui Magento lo sceglie. Vai al percorso, elimina il logo precedente e carica. Il tuo problema sarà risolto.


1

Questo è risolto in 2.1? Ho aggiornato la mia installazione 2.1 con compositore ma non sembra essere stato corretto. Come possiamo aggiornare?
cha

Non so se è stato risolto ora. Apporto la modifica manualmente.
Victor Piolin,

1
Non è stato ancora risolto al 2.1.2.
Jehzlau,

1
Non è ancora stato corretto anche in 2.1.3.
BornCoder

1
Non risolto in 2.1.4, scherzo completo.
LM_Fielding

1

Se il problema si verifica in 2.3.0

Per il logo e-mail: sostituire fileUploader in imageUploader in

vendor / Magento / module-mail / view / adminhtml / ui_component / design_config_form.xml

<field name="email_logo" formElement="imageUploader">

Per il logo del sito: sostituire fileUploader in imageUploader in

vendor / Magento / module-tema / view / adminhtml / ui_component / design_config_form.xml

 <field name="head_shortcut_icon" formElement="imageUploader">

&

<field name="header_logo_src" formElement="imageUploader">


0

Di seguito è una semplice soluzione. Non è necessario modificare la struttura del file, ecc.

Innanzitutto, crea un blocco statico con un'immagine del tuo logo. Aggiungi i testi necessari se vuoi.
Assegna un nome al logo e-mail del blocco statico.
Inserisci il blocco nel codice HTML del tuo modello di email in questo modo:

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

Ora puoi rimuovere l'intestazione e-mail predefinita dalla tua e-mail:

{{template config_path="design/email/header_template"}}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.