ti-enxame.com

Como posso adicionar um modelo de email no Joomla

Como adicionar um modelo de email para todos os emails que o Joomla enviou.

Existe alguma maneira padrão de fazer isso? Ou temos que adicionar códigos personalizados em cada seção de envio de email (ou classe PHPmailer)?

Estou procurando algo como eventos de plug-in ou algo semelhante para capturar um evento de envio de email. Isso é possível no Joomla?

Eu acho que preciso explicar um pouco mais, Embelezador de e-mail é bom, mas é pago meu objetivo é desenvolver essa extensão. Eu tenho um componente personalizado para personalização de modelo de email, com o editor todas as fontes de estilos, etc. são personalizáveis ​​a partir daí, o modelo é algo como abaixo.

enter image description here

Este é o meu modelo, não preciso alterar nenhuma mensagem que o Joomla já tenha com registro, contatos e assim por diante. Eu só preciso adicionar um modelo,

No momento, estou fazendo isso personalizando PHP, algo como Chad Windnagle disse que já vi algumas extensões fazendo isso, como substituir todos os emails que o Joomla envia para mim usou-o na versão mais antiga do Joomla como o RS FORM PRO Joomla.

5
Jobin Jose

Todos os emails enviados são enviados usando os arquivos de idioma; portanto, alterar o conteúdo para a cópia do email é uma questão de substituir o idioma:

http://docs.joomla.org/J2.5:Language_Overrides_in_Joomla

Não tenho certeza se existe um único 'evento' específico para capturar o envio de e-mails. A única maneira de fazer isso seria provavelmente substituir a classe mailer e adicionar um evento que você possa assistir com outros plugins.

Você teria que substituir esta classe: https://github.com/joomla/joomla-cms/blob/staging/libraries/joomla/mail/mail.php

E substitua-o pelo seu - você pode fazer isso com um plug-in do sistema, eu acho. A partir daí, você adicionará um novo evento no método send () que chama um evento onSend do plugin.

Isso também funcionará apenas se o envio de email estiver usando a classe de mala direta do Joomla. Qualquer correio enviado diretamente via PHP seria difícil de entender dessa maneira.

4
Chad Windnagle

Você pode enviar um modelo de email facilmente usando o componente Joomla gratuito, como o ACYMailing - https://www.acyba.com/

Para recursos - https://www.acyba.com/acymailing/features.html

Também possui modelos de e-mail gratuitos embutidos, portanto, não é necessário reconstruir ou criar você mesmo

0
PCMShaper

Vá para Gerenciador de idiomas -> Substituições de idiomas

Lá você pode criar substituições para as seguintes chaves:

  • COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_SUBJECT

  • COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY

  • COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_SUBJECT

  • COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_BODY

Existem outras chaves. Mas tudo que você precisa é criar substituição de idiomas. Dê uma olhada no arquivo language/en-GB/en-GB.com_users.ini.

0
csbenjamin

EDIT: Reli sua pergunta e percebi que você deseja criar um plugin semelhante a este. No entanto, deixarei minha resposta, pois ela pode ser útil para outras pessoas com base no título da sua pergunta e você pode achar útil ver como essa extensão funciona.

Uma alternativa para isso é usar o plugin cMandrill gratuito do Compojoom:

https://compojoom.com/joomla-extensions/mandrill-transactional-emails-made-easy

E depois inscreva-se em http://Mandrill.com

Os primeiros 12.000 e-mails são gratuitos; portanto, a maioria dos sites nunca cobra taxas (você nem precisa usar um cartão de crédito para se inscrever).

Você pode substituir os modelos do joomla sem modificar nenhum idioma ou fazer nenhuma substituição.

Ofereço isso como uma alternativa que traz alguns benefícios interessantes (como o Mandrill pode dizer se os emails de seu usuário se recuperaram e quem os abriu, etc.).

0
Brian Peat