Help Center

Powered by Minitek FAQ Book
Loading...

System plugin overrides language filtering

CD
Crystal DionysopoulosPosted 1 year ago
Content Notifications - Professional Subscription

Hi!

I am giving it a try :) and installed it on the dev site for my client. However, this particular site will be translated into 7 languages, including three RTL ones. 

I noticed that after enabling the System - Content Notifications plugin the language assigned to the document was always the default. Even if the language strings used the correct language, the html tags for lang and direction do not update, which isn't good for SEO or accessibility (and also RTL languages display LTR).

I tried moving the plugin to be last in the ordering, but unfortunately that didn't help; only disabling the plugin resolves the issue.

I asked Nikos (of Akeeba/my husband) if he knows what's happening, and he took a couple minutes to debug it.

He says that the problem was the HTMLHelper::_('behavior.formvalidator'); call at the top of the plugin file (plugins/system/mcnsystem/mcnsystem.php). If you move that to line 100, before loading the form in the backend, it solves the issue. He said that formvalidator needs to create the document object to set up the script options, but because it loads very early before the language plugins have a chance to run, it didn't give the language plugins a chance to set the document language correctly. By moving it to right before the form, it will use the correct language options.

I hope this makes sense (as it's a bit more in depth than I usually go) and helps! Could you add this fix so that it works with multilingual sites correctly?

 

Thank you very much,

Crystal

Loading...
0
#3727

2 answers

M
MinitekPosted 1 year agoModerator

Thank you for the great feedback. I hadn't really the opportunity so far to test this will multiple languages.

I will fix this asap. I will release an update later today.

CD
Crystal DionysopoulosPosted 1 year ago

Thank you!!