Kowal Custom Header Links per Magento 2
12,50 € 12,50 €
AI Email Theme Generator estende la gestione dei template email in Magento 2 con la generazione supportata dall’AI. Il modulo aggiunge un processo pratico per migliorare i template email transazionali nativi di Magento direttamente dal pannello di amministrazione, senza sostituire il sistema standard dei template email.
Gli amministratori possono generare, rielaborare, correggere o ampliare i template email Magento esistenti utilizzando ChatGPT tramite OpenAI API. Il risultato della generazione viene restituito come dati strutturati e può essere salvato nei campi nativi di Magento:
Il processo è controllato, auditabile e asincrono. Ogni richiesta AI viene gestita dalla coda Magento e tracciata come attività separata con informazioni su stato, cronologia, errori, payload della richiesta, payload della risposta e risultato generato.
Le email transazionali di Magento sono un importante punto di contatto con il cliente, ma il loro aspetto predefinito è di solito molto generico e richiede lavoro manuale su HTML/CSS per adattarlo al brand. AI Email Theme Generator riduce il tempo necessario per preparare template email migliori, mantenendo il risultato nell’infrastruttura nativa di Magento.
Il modulo è adatto per:
Il modulo estende l’interfaccia amministrativa standard di Magento:
Marketing > Communications > Email TemplatesIl template salvato riceve campi AI aggiuntivi direttamente nell’editor standard dei template email Magento. L’amministratore può inserire un prompt, aggiungere un progetto di riferimento opzionale, preparare risorse grafiche e avviare la generazione con ChatGPT.
Il risultato AI è atteso come JSON e mappato sui campi nativi di Magento:
{ 'template_name': 'New Order Confirmation - Guest', 'template_subject': 'Your order confirmation', 'template_content': '', 'template_styles': '/* CSS */', 'warnings': [], 'change_summary': 'Updated layout and improved copy.', 'variables_used': ['order.increment_id', 'store.frontend_name']}In questo modo il risultato è prevedibile e più facile da validare prima del salvataggio.
La generazione non viene eseguita durante il caricamento della pagina di amministrazione. Il modulo crea un’attività in coda e la elabora in background utilizzando Magento Message Queue.
Questo evita lunghe attese nel pannello di amministrazione e offre al team una visione chiara di ogni richiesta di generazione.
Le attività di generazione sono disponibili in:
Marketing > Communications > AI Email Generation JobsOgni attività mostra:
Le attività non riuscite possono essere riprovate, le attività in attesa possono essere annullate e i risultati completati possono essere applicati manualmente se il salvataggio automatico del risultato è disattivato.
Gli amministratori possono aggiungere un file di riferimento, ad esempio un’immagine, un file HTML o un file di testo. Il file viene incluso nel contesto AI e può essere utilizzato per generare un template coerente con il concept grafico selezionato.
L’editor nativo del template email può anche conservare risorse AI assegnate a uno specifico template:
Ogni risorsa può avere un’etichetta, un testo alternativo, un URL di destinazione e un ordine di ordinamento. Le righe di banner e icone possono essere aggiunte dinamicamente nel modulo.
Durante la generazione, il modulo passa all’AI una sezione assets con URL frontend pubblici raggruppati per finalità. In questo modo ChatGPT sa quale immagine è il logo, quale appartiene all’intestazione, quali file sono banner e quali sono icone.
Questo approccio offre un layout email più prevedibile rispetto all’invio di una singola immagine di riferimento generica.
Il modulo include un prompt tecnico globale utilizzato per ogni richiesta di generazione. Il prompt contiene regole tecniche fisse, ad esempio:
Questo separa le istruzioni tecniche dal prompt business scritto per un singolo template.
Il modulo è preparato come pacchetto Composer per Magento:
kowal/module-ai-email-theme-generatorÈ destinato all’installazione come pacchetto vendor, non alla copia manuale in app/code.
Il modulo è implementato in inglese e tutti i testi visibili sono predisposti per il meccanismo i18n di Magento tramite helper di traduzione oppure etichette e commenti XML traducibili.
L’AI può essere utilizzata per modernizzare le email Magento predefinite, come:
L’amministratore può fornire un prompt e un progetto di riferimento affinché il template generato sia coerente con il tono di comunicazione del negozio, la palette colori, le aspettative tipografiche e lo stile del layout.
Gli sviluppatori possono usare il modulo per generare una prima versione del template, quindi controllare il risultato, validare le direttive Magento e rifinire l’HTML/CSS finale.
Poiché ogni richiesta viene salvata come attività, il team può confrontare prompt, modelli, risultati, avvisi ed errori senza perdere la cronologia.
AI Email Theme Generator è progettato per supportare amministratori e sviluppatori, non per aggirare la validazione o il processo di revisione dei template Magento.
Il modulo supporta:
script nel contenuto generato,Negli ambienti di produzione si consiglia di disattivare l’applicazione automatica del risultato finché il team non avrà verificato la qualità dei template generati per i propri prompt e casi d’uso.
AI Email Theme Generator introduce la generazione di template email supportata dall’AI nel pannello Magento 2, mantenendo al tempo stesso il workflow nativo Email Templates. Il modulo aiuta a migliorare più rapidamente le email transazionali, mantiene l’auditabilità tramite attività in coda e offre agli sviluppatori controllo sui prompt, sul formato della risposta e sul modo in cui il risultato viene applicato.
Il modulo è destinato a Magento 2 e a installazioni gestite tramite Composer.
Requisiti:
Pacchetto del modulo:
kowal/module-ai-email-theme-generatorNome del modulo Magento:
Kowal_AiEmailThemeGeneratorAggiungi il repository Composer:
composer config repositories.ai.email.theme.generator vcs https://github.com/kowalco/ai-email-theme-generatorSe il repository è privato, configura l’autenticazione GitHub:
composer config --global --auth github-oauth.github.com Installa il modulo:
composer require kowal/module-ai-email-theme-generatorAbilita il modulo:
bin/magento module:enable Kowal_AiEmailThemeGeneratorEsegui l’aggiornamento Magento:
bin/magento setup:upgradeSvuota la cache:
bin/magento cache:flushPer la modalità produzione, esegui i comandi di deployment standard usati nel progetto, ad esempio:
bin/magento setup:di:compilebin/magento setup:static-content:deploybin/magento cache:flushLa generazione AI viene elaborata in modo asincrono tramite Magento Message Queue.
Avvia manualmente il consumer:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerNegli ambienti di produzione configura il consumer con supervisor, systemd o un altro gestore di processi usato dall’hosting.
Il modulo crea attività nel pannello di amministrazione, ma la richiesta verso l’AI non verrà elaborata finché il consumer non sarà in esecuzione.
Il modulo aggiunge risorse ACL:
Kowal_AiEmailThemeGenerator::rootKowal_AiEmailThemeGenerator::jobsKowal_AiEmailThemeGenerator::generateKowal_AiEmailThemeGenerator::retryKowal_AiEmailThemeGenerator::cancelKowal_AiEmailThemeGenerator::applyKowal_AiEmailThemeGenerator::deleteKowal_AiEmailThemeGenerator::settingsAffinché l’amministratore possa usare il modulo, assegna le risorse appropriate in:
System > Permissions > User RolesPer l’accesso completo, consenti la risorsa principale AI Email Generation e tutte le risorse figlie.
Vai a:
Stores > Configuration > AI Email Generation > AI Email Theme GeneratorLa sezione di configurazione contiene il gruppo:
General SettingsTipo: Yes/No
Predefinito: No
Abilita o disabilita le funzioni del modulo.
Quando è impostato su No:
Imposta Yes solo dopo aver preparato l’API key e avviato il queue consumer.
Tipo: Select
Predefinito: OpenAI
Definisce il provider AI utilizzato dal modulo.
L’implementazione attuale supporta:
OpenAIIl campo esiste per consentire in futuro l’aggiunta di altri provider senza modificare il workflow dell’amministratore.
Tipo: campo nascosto/cifrato
Archivia l’OpenAI API key utilizzata per la generazione.
Il valore viene cifrato da Magento usando:
MagentoConfigModelConfigBackendEncryptedImportante:
Tipo: Select
Definisce il modello OpenAI utilizzato per la generazione.
Esempio:
gpt-4.1L’elenco viene recuperato dinamicamente da OpenAI Models API usando l’API key configurata. Il modulo filtra la risposta sugli identificatori dei modelli GPT e memorizza l’elenco in cache per un breve periodo, così da non chiamare l’API a ogni apertura della configurazione.
Se l’API key non è ancora stata salvata, il campo mostrerà un’opzione di fallback e chiederà all’amministratore di salvare la chiave.
Se OpenAI API è temporaneamente non disponibile, il campo mantiene il modello attualmente configurato, se possibile.
Usa un modello che supporti il tipo di input necessario:
Il modello selezionato influisce sulla qualità del risultato, sul tempo di risposta e sul costo.
Tipo: Number
Esempio di valore predefinito:
120Tempo massimo in secondi consentito per la richiesta a OpenAI API.
Valori consigliati:
60 per generazioni testuali brevi,120 o più per generazioni HTML/CSS complesse,Il timeout riguarda l’elaborazione in background, non la richiesta del form amministrativo.
Tipo: Number
Esempio di valore predefinito:
2Definisce quante volte il consumer può riprovare automaticamente un’attività di generazione non riuscita.
I retry sono utili in caso di errori temporanei, come:
Gli errori permanenti, ad esempio configurazione errata o risposta AI non valida, devono essere verificati nei dettagli dell’attività.
Tipo: Textarea
Questo prompt viene applicato a ogni richiesta di generazione. Dovrebbe contenere regole tecniche che devono essere sempre rispettate.
Esempio:
You are an assistant generating Magento 2 email templates.Return only JSON that matches the provided schema.Keep Magento directives valid.Do not invent Magento variables.Do not add JavaScript.Put CSS in template_styles unless inline styles are required for email compatibility.Preserve required variables and add warnings when a requested change is risky.When assets are provided, use only the URLs from the assets section, preserve alt text, apply target links to clickable images, use banners and icons according to their sort_order, and do not invent additional image URLs.Usa questo campo per istruzioni stabili, come:
Non usare questo campo per istruzioni creative una tantum. A questo serve AI Prompt nel form del template.
Tipo: Textarea
Questo prompt viene mostrato per impostazione predefinita nella sezione AI dell’editor del template email.
Esempio:
Improve this Magento email template while keeping all required Magento variables and directives valid.L’amministratore può modificarlo prima di creare l’attività di generazione.
Usa questo campo per impostare un’istruzione predefinita pratica per attività di generazione tipiche.
Tipo: Text
Esempio di valore predefinito:
png,jpg,jpeg,webp,html,htm,txtElenco delle estensioni file consentite per il progetto di riferimento opzionale, separate da virgole.
Esempi supportati:
pngjpgjpegwebphtmlhtmtxtIn produzione usa un elenco il più restrittivo possibile. Non consentire tipi di file non necessari nel processo.
Tipo: Number
Esempio di valore predefinito:
5242880Dimensione massima del file di riferimento in byte.
Esempi:
1048576 = 1 MB5242880 = 5 MB10485760 = 10 MBI file grandi aumentano la dimensione del payload e possono rallentare la generazione o superare i limiti del provider.
Tipo: Yes/No
Predefinito: No
Definisce se un risultato AI valido deve sovrascrivere subito i campi nativi del template Magento.
Quando è impostato su Yes, il consumer salva il risultato generato in:
Quando è impostato su No, il risultato viene conservato nell’attività e l’amministratore può verificarlo prima di applicarlo manualmente.
Impostazione consigliata in produzione:
NoL’approvazione manuale è più sicura, perché il risultato AI può essere tecnicamente corretto ma richiedere comunque una revisione di brand, legale o di layout.
Tipo: Yes/No
Predefinito: Yes
Definisce se il modulo salva i payload completi di richiesta e risposta nel record dell’attività.
Quando l’opzione è abilitata, i dettagli dell’attività possono mostrare:
È utile per debug e audit.
Negli ambienti di produzione verifica i requisiti di privacy prima di abilitare questa opzione. Il modulo non dovrebbe inviare dati reali dei clienti all’AI, ma i payload possono comunque contenere contenuti dei template sensibili per il business.
Tipo: Number
Esempio di valore predefinito:
30Definisce per quanto tempo le vecchie attività devono essere conservate.
Questo valore documenta la policy di retention prevista. Il progetto può usarlo per implementare una pulizia periodica in base ai requisiti operativi.
Questo esempio descrive l’intero processo di generazione di un template email Magento migliorato per:
New Order Confirmation for GuestVai a:
Stores > Configuration > AI Email Generation > AI Email Theme GeneratorImposta:
Enabled = YesAPI Provider = OpenAIOpenAI API Key = OpenAI Model = gpt-4.1Request Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes Salva la configurazione e svuota la cache se Magento lo richiede.
Esegui:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerDurante i test, il processo dovrebbe rimanere sempre attivo.
Vai a:
Marketing > Communications > Email TemplatesFai clic su:
Add New TemplateNel campo Template seleziona:
New Order Confirmation for GuestFai clic su:
Load TemplateMagento compilerà i campi nativi:
Imposta il nome del template, ad esempio:
New Order Confirmation for Guest - AI DraftSalva il template.
Il processo di generazione AI richiede un template salvato, perché l’attività deve avere un template_id persistente.
Dopo il salvataggio, riapri il template se necessario. L’editor standard dei template email Magento include la sezione AI Email Generation.
Nel campo AI Prompt inserisci un’istruzione business, ad esempio:
Create a modern, clean transactional email for a premium fashion store.Keep all Magento order variables and directives valid.Improve the subject line and make the content easier to scan.Add a clear order summary section, shipping information section, and customer support footer.Use neutral colors, simple spacing, and email-client-safe HTML.Significato di questo campo:
Usa Design Reference se l’email generata deve seguire una specifica direzione visiva.
File di esempio:
order-email-reference.pngbrand-email-layout.webpemail-layout.htmldesign-notes.txtSignificato di questo campo:
Se non viene aggiunto un progetto di riferimento, l’AI userà solo contenuto del template, variabili, prompt tecnico e prompt utente.
Usa Error Screenshot se vuoi mostrare all’AI un problema attuale di rendering, layout o validazione del template.
Esempi:
Questo campo viene passato all’AI come sezione JSON separata:
{ 'error_screenshot': { 'type': 'image', 'filename': 'email-rendering-error.png', 'mime_type': 'image/png', 'content_base64': '...', 'purpose': 'current_error_context', 'description': 'Screenshot showing current rendering, layout, visual, or validation errors. Use it to understand what should be fixed. This is not a design reference.' }}Significato di questo campo:
AI Prompt.Esempio di prompt:
Use the attached error screenshot only to understand the current rendering issue.Fix the spacing problem visible in the screenshot while preserving Magento variables.Do not treat the screenshot as the target design.L’editor include l’area AI Assets. Queste risorse vengono salvate con il template Magento e passate all’AI come URL media frontend raggruppati.
Gruppi di risorse disponibili:
| Campo | Significato |
|---|---|
| Logo | Logo del brand usato nell’intestazione o nel footer del messaggio. |
| Header Image | Grafica principale per la parte superiore del messaggio. |
| Banners | Elenco dinamico di banner promozionali o informativi. |
| Icons | Elenco dinamico di piccoli elementi grafici, ad esempio benefit o icone dei servizi. |
Ogni risorsa può contenere:
| Campo | Significato |
|---|---|
| File | File grafico caricato nel Magento media storage. |
| Label | Nome interno che aiuta l’AI a comprendere la finalità della risorsa. |
| Alt Text | Testo usato nell’attributo alt dell’immagine. |
| Target URL | Link usato quando l’immagine deve essere cliccabile. |
| Sort Order | Priorità di visualizzazione di banner e icone. |
Per banner e icone fai clic su:
Add BannerAdd IconIl modulo salva le risorse caricate nel Magento media storage e passa all’AI URL frontend pubblici nella struttura:
{ 'assets': { 'logo': { 'label': 'Brand logo', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/logo/logo.png', 'alt': 'Brand logo', 'link': 'https://example.com/', 'sort_order': 0 }, 'header_image': { 'label': 'Spring campaign header', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/header/header.jpg', 'alt': 'Spring collection', 'link': 'https://example.com/spring', 'sort_order': 0 }, 'banners': [ { 'label': 'Main promotion', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/banner/banner.jpg', 'alt': '20% off new collection', 'link': 'https://example.com/new', 'sort_order': 10 } ], 'icons': [ { 'label': 'Free delivery', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/icon/delivery.png', 'alt': 'Free delivery', 'link': 'https://example.com/delivery', 'sort_order': 10 } ] }}Nei prompt fai riferimento direttamente a questi gruppi. Esempio:
Use the uploaded logo as the main brand mark.Use the header image at the top of the email.Place banners below the order summary using their sort order.Use icons in a benefits row and link each icon to its target URL.Always preserve alt text.Abilita:
Generate with AI after savingSignificato di questo campo:
Se la checkbox non è selezionata, il salvataggio del template funziona esattamente come il salvataggio standard di Magento e non viene creata alcuna attività AI.
Fai clic sul pulsante standard Magento:
Save TemplateDopo il salvataggio del template, il modulo crea l’attività di generazione.
A questo punto:
pending,Vai a:
Marketing > Communications > AI Email Generation JobsApri l’attività creata.
Campi più importanti:
| Campo | Significato |
|---|---|
| Status | Stato attuale dell’elaborazione. |
| Template ID | ID del template email nativo Magento. |
| Template Name | Nome del template salvato al momento della creazione dell’attività. |
| Model | Modello OpenAI usato per la generazione. |
| Attempts | Numero di tentativi di elaborazione. |
| Prompt | Prompt utente inviato dal form del template. |
| Request Payload | JSON inviato all’AI, se il salvataggio dei payload è abilitato. |
| Response Payload | JSON restituito dall’AI, se il salvataggio dei payload è abilitato. |
| Generated Result | Risultato parsato pronto per l’applicazione. |
| Assets | URL frontend pubblici e metadati di logo, intestazione, banner e icone. |
| Error Screenshot | Screenshot con gli errori attuali, passato all’AI come contesto di correzione. |
| Warnings | Avvisi AI relativi a requisiti rischiosi o incompleti. |
| Error Message | Causa dell’errore quando la generazione non riesce. |
| Status History | Cronologia delle modifiche di stato dell’attività. |
Stati tipici:
| Status | Significato |
|---|---|
pending | L’attività è stata creata ed è in attesa del consumer. |
processing | Il consumer sta elaborando l’attività. |
retry_scheduled | Il tentativo precedente non è riuscito ed è stato pianificato un retry. |
completed | L’AI ha restituito un risultato valido. |
failed | L’attività non è riuscita dopo tutti i tentativi oppure la validazione non è andata a buon fine. |
cancelled | L’amministratore ha annullato l’attività. |
Se Automatically Apply Result = No, il risultato non viene salvato automaticamente nel template Magento.
Controlla:
Se il risultato è corretto, fai clic su:
Apply ResultIl modulo salverà i valori generati nei campi nativi del template Magento.
Torna a:
Marketing > Communications > Email TemplatesApri il template e controlla:
Invia un messaggio di test oppure esegui un flusso d’ordine di test secondo il processo QA standard del progetto.
Dopo aver applicato il risultato tramite Apply Result, la versione attuale del template viene salvata nei campi nativi di Magento. Questo significa che la successiva richiesta AI si baserà su questa versione e non sul template iniziale.
Puoi perfezionare più volte lo stesso template:
Apply Result.Marketing > Communications > Email Templates.Error Screenshot.Generate with AI after saving.Nelle correzioni successive, tratta AI Prompt come descrizione della modifica alla versione attuale. È meglio indicare:
Error Screenshot allegato mostra un errore di rendering, un layout visivo, un problema di responsività o un messaggio di validazione.Prompt di esempio per una correzione successiva:
Use the current saved template as the base.Fix the spacing issue visible in the attached error screenshot.Keep the current header layout, all Magento variables, and the existing Template Styles structure.Do not redesign the whole email.Questo workflow è utile quando la prima versione è vicina al risultato atteso ma richiede la rifinitura di dettagli come spaziature, responsività, visibilità dei banner, posizione del logo o stile dei pulsanti.
Puoi ripetere questo ciclo più volte. Ogni nuova attività crea una voce separata nella cronologia, quindi è possibile tornare ai prompt, ai payload e alle risposte AI precedenti per verificare quale istruzione ha portato a una specifica modifica.
Il modulo invia all’AI un payload strutturato. Le sezioni più importanti sono:
Contiene lo stato attuale del template Magento:
L’AI usa questa sezione come materiale di base per la generazione.
Importante: se in precedenza è stato applicato un risultato AI tramite Apply Result, la sezione template contiene già questa versione aggiornata. In questo modo la generazione successiva può funzionare come correzione del template attuale.
Contiene variabili e direttive Magento rilevate nel template.
L’AI deve preservare questi valori e non deve inventare variabili non supportate.
Contiene:
technical - prompt tecnico globale dalla configurazione,user - prompt inserito nell’editor del template.Il prompt tecnico protegge la struttura specifica di Magento. Il prompt utente descrive il risultato atteso per un singolo template.
Contiene metadati opzionali e contenuto del progetto di riferimento caricato.
La sezione è vuota quando non viene caricato alcun file di riferimento.
Contiene uno screenshot opzionale che mostra errori attuali di rendering, layout, visivi o di validazione.
Questa sezione contiene purpose e description affinché l’AI sappia che il file serve a comprendere il problema e non come modello del progetto finale.
La sezione è vuota quando non viene caricato alcuno screenshot.
Nelle correzioni successive conviene usare error_screenshot insieme a un prompt preciso che indichi cosa deve essere corretto e cosa non deve essere modificato. In questo modo l’AI può risolvere un problema specifico senza ricostruire l’intero template.
Esempio: dopo aver applicato il primo risultato AI, l’amministratore nota che in Gmail il banner si sovrappone alla sezione di riepilogo dell’ordine. Nella richiesta successiva allega uno screenshot di questa visualizzazione e inserisce un prompt che chiede esclusivamente di correggere spaziature e larghezza del banner. Il payload contiene ancora gli attuali Template Content e Template Styles, quindi l’AI lavora sull’ultima versione salvata.
Contiene le risorse grafiche strutturate salvate per il template:
Ogni risorsa contiene URL media pubblico, label, alt text, target URL, sort order e filename.
L’AI dovrebbe usare questi URL durante la costruzione dell’HTML e non dovrebbe inventare indirizzi immagine aggiuntivi.
Contiene informazioni di base sul negozio, come:
L’AI può usarle per comprendere lingua e contesto, ma non dovrebbe ricevere dati reali di clienti o ordini.
Causa più probabile:
Controlla:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerControlla i permessi ACL per:
Kowal_AiEmailThemeGenerator::settingsDopo aver modificato i permessi amministratore, effettua il logout e accedi di nuovo.
Controlla:
OpenAI API KeyAssicurati che il modulo sia abilitato e che la configurazione sia stata salvata nello scope corretto.
Controlla:
Automatically Apply ResultSe l’opzione è impostata su No, apri l’attività e fai clic su:
Apply ResultControlla se il risultato precedente è stato applicato tramite:
Apply ResultLa generazione successiva si basa sul template Magento attualmente salvato. Se il risultato del job ha stato completed, ma non è stato applicato, il job successivo continuerà a basarsi sulla versione precedente del template.
Il modulo valida il JSON restituito. Può rifiutare il risultato se:
script,Controlla il messaggio di errore nell’attività e ripeti la generazione con un prompt più chiaro.
Valori iniziali consigliati:
Enabled = YesRequest Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes for testing, No or limited retention for productionRetention Days = 30Usa l’applicazione manuale del risultato finché il team non sarà certo che i prompt, il modello selezionato e le regole di validazione producano template coerenti.