Where are all the Magento email templates located? - email

Magento seems to have lots of email templates to send a variety of different messages based on user activities: registration, password recovery, order, shipment, etc.
Where can I find all the email templates so I can customize them ALL and never miss one of them to avoid looking bad when the user sees a poorly worded default template?
Are they all located in one location / directory?

app/locale/en_US/template/email/ is the default place/locale. You should not customize them in the filesystem, or if you do, plan on protecting & merging when you upgrade.
You can customize them (albeit somewhat wonkily) via System > Transactional Emails. In this area you select the base file for your locale and alter the content, which is then stored in the database.

for Magento 1.9.x.x
app/locale/lang_CODE/template/email
for Magento 2.x
app/design/frontend/YOURPACKAGE/YOURTHEME/

Here is a free plugin that lets you override the email templates:
https://www.yireo.com/software/magento-extensions/email-override
This is where you place the overrides:
app/design/frontend/{PACKAGE}/{THEME}/locale/{LOCALE}/template/email
So if I was overriding this file:
app/locale/en_US/template/email/account_new.html
and if my package name is "package" and my theme is "default", I would place my override file here:
app/design/frontend/package/default/locale/en_US/template/email/account_new.html

app/locale/<Language>/template/email/
Find all the templates with names.

Related

Replace content links domain depending on environment in contentful

Below is some info to have context about the problem I am looking for solution:
"I only want to have a prod environment for contentful. the preview url is being used for UAT and Dev environments. So if the content is in the draft it will be reflected in Dev and UAT and when published it will be reflected in both environments as well as Prod".
Now the issue is there are some links in content that has a prod domain like www.[prod-domain]/blah blah, I need those URLs domain to be replaced with UAT or Dev domains in the draft (depending on environment) like www.[UAT-domain].blah blah
Is there any middleware for this? if not, what's the best way to achieve this in-app?
Salma from Contentful here!
If you use relative links in the content (e.g. /blahblah), they would automatically resolve to the current domain when navigated to on the front end.
If you're using Rich Text and outputting links in the flow of the text, you could get around the protocol requirement in the usual link formatter by creating a custom 'internal link' entry content type, which you can embed as an inline entry. For this content type, you could ask editors to provide a path to a page without the https protocol and domain, and ensure there is validation for that in the web app (using the pattern validation).
Another option would be to remove the protocol and domain from the urls when rendering on the front end to avoid the editors having to create extra entries when adding content to the Rich Text field.

Sulu: Is it possible to limit the available page templates per webspace?

I have a sulu 1.6 installation with multiple webspaces. I have multiple page template definitions in app/Resources/templates/pages, like default.xml, homepage.xml, blog.xml, center.xml.
Is it possible to make for example the center.xml only available for the content of one webspace and not all the others?
UPDATDE:
Where can I change this behaviour in the code, that per webspace only the ones are showing up, that are defined in the webspace.xml? This is really blocking and a super bad user experience, since the template is directly linked together with the configured webspace, but the others do not fit.
Thx a lot!
Andreas
The template is only shown in the dropdown if its .html.twig file exists. So if you use the SuluThemeBundle and only a specific theme implements its .html.twig file the template will not be shown on the other theme aslong as the .html.twig does not exists there.
This feature has not yet been implemented, because not too many people have asked for it...
Since Sulu 2.0 you can limit the template on the webspace using the exclude-templates inside your webspace configuration:
<excluded-templates>
<excluded-template>overview</excluded-template>
</excluded-templates>
Before the only way to limit page templates was to work with themes.

Email templates in DNN

is there any ability to create custom email templates in dnn 8, I didn't found anything in the official documentation related about this topic.
Thanks !
The emails that DNN sends out are templated via language resource (.resx) files, which you can edit through the Languages module under the Admin menu. From that interface, you can edit the site's language, and then edit the GlobalResources file in the Global Resources section of the editor. (In DNN 9, this interface is now under the Languages tab within Site Settings, and you click the Translate button for the site's language).
If you want to add arbitrary new emails that you send to groups, there is not a built-in mechanism for that. There's an old "core" module, Newsletters, which can be used for that, or you can search on the DNN Store for a more full-featured module. However, the typical recommendation is to export your user list to a service like Mail Chimp or Constant Contact, rather than sending emails directly through the DNN site.
Finally, if you're building a custom extension which needs to send email, you can use the Mail.SendEmail or Mail.SendMail methods (SendEmail is more simple/streamlined, SendMail has more options).

TYPO3 user permissions: "read-only" Extension mananger and Templates module

Hi,
I'm looking for a way to set user permissions in the TYPO3 backend (Version 4.5.25 LTS in this special case) as follows:
User should be able to see the modules "Extension Manager" and "Template"
he is not allowed to edit the Templates, only read them (for evaluation or training purpose)
he is not allowed to un/install extensions, languages etc, but read the extension list and the extensions informations provided in the list of installed extension.
Is this possible somehow? I know you can't restrict admin users like that.
Is it possible to extend normal BE users like that? Or is there another way?
Thanks in advance!
This is not possible unless you create an extension for this that hooks into the access right evaluation.
For your usecase, I recommend to put all TypoScript templates into files and give the user read only access to the filesystem.
You can also ship all templates inside an extension, then you just need to share the typo3conf/folder.

Custom email templates per theme in magento

Is there a way to customise all the magento transactional emails (font-colours, link colours etc) per theme (storefront) without having to create each one though the admin area?
Thanks
I have been working on a module that would be able to handle this, though it is not complete (so many templates to edit!).
It involves including a template at the beginning of each email template that includes style information which then gets cascaded down to the rest of the template. If you had multiple themes, you could simply copy the template from /base/default to /your/theme and that should work.
Unfortunately, it has not been an easy module to build. The transactional system in Magento is fairly rigid in what you may do.
Alternatively (and this would be equally as much work) is to have a look at the sales.xml layout. You could rewrite the Email Layouts Section for each theme to point to different templates in your email, but this would be a lot of work and it would still be pretty cumbersome to maintain.