Whenever a user submits and article on one of my sites, the message that comes across has only COM_MESSAGES_NEW_MESSAGE as the subject and COM_MESSAGES_NEW_MESSAGE_BODY. I've tried several things, including updating the language overrides and modifying the email templates. Neither of those has worked, so I'm guessing there's an issue elsewhere else. I want certain users to be notified when a new article is published and saved as a draft, so they can review and publish. Is there a different way to accomplish this, or can the private message notification be fixed?
1 Answer
I've got the very same problem. This currently, i.e. November 2022, is a bug in Joomla 4.
Update
There is a nicer workaround to the one I posted initially. Updating my answer to show both.
Workaround 1
- Login to the backdend, select System on the left, then Mail Templates under Templates
- Locate the mail template which is being used to notify about new articles. The title may vary depending on the backend language in use, but the ID does not. Look for ID
com_messages.new_message
- One after the other, click the little flag icons representing the installed languages. This will open the template in the editor
The language keys, e.g.
COM_MESSAGES_NEW_MESSAGE
are already translated to the correct language value before the template is shown (this is the backend, and localization does work here). All you need to do is to verify, then click onSAVE
. - Optional, if curious: Have a look into the Joomla DB to see what this has done. I can't tell how you can look into the Joomla DB in your environment, but if often is the phpAdmin web interface.
Locate table
<prefix>_mail_templates
, display its content and look for the entries withtemplate_id
equal tocom_messages.new_message
. In my case, there are two languages installed: The standarden-GB
, and my localde-CH
, so there are now three templates, the default with no language set, and one for each language.
The notification about new articles being submitted from the frontend will now send a message in the language set for the backend.
Workaround 2
As an alternative workaround, make sure you set the default language for the Site, as well as the Administrator to the same language.
- Login to the backdend, select System on the left, then Language under Manage Note: This is how the backend looks like at Joomla 4.2.5 with English as Administrator language. It is the first entry labelled Language, not the second one labelled Content Languages which is to be selected.
- Select Administrator, and Site one after the other in the top drop down, and set the Detault to the same language.
This is a bit awkward, since I personally like to have the backend in the Joomla standard language, English, because helpfull Internet content is mostly in refering to the English terms.
Joomla Issue Tracker item
I have filed a Joomla Issue Tracker report, and hope the bug will be fixed eventually: [#39228] - Mail notifying about new article is not properly built when site and backend languages are different
-
Thank you! I had English (UK) as the only language for both site & admin, but didn't have it selected as the admin default. After ensuring that it was starred as the default, the messages started working again.– LMK WebCommented Nov 21, 2022 at 16:49