Artisteer 4.0 Joomla Templates Don't Show Messages


Author Message
wizzbangwa

Posted: 11/7/2012
Quote message 

I have a template I using while trying out Artisteer 4.0 (not purchased yet) in Joomla 3.0. Everything works, except messages. Errors, warnings, success, notices do not show. This has caused a huge issue with debugging the website.

The only way I can get messages to show is change:

echo artxPost(array('content' => '<jdoc:include type="message" />', 'classes' => ' art-messages'));


to

?><jdoc:include type="message" /><?PHP

 
BramNL

Posted: 10/17/2013
Quote message 

well, the problem is that this piece of JavaScript is hiding the message. And I don't know why!?

script.js, line 1191:
$(function ($) {
$('.art-messages').each(function () {
$(this).css('display', $(this).find('dl').length ? '' : 'none');
});
});

I don't understand what it does. What is ".find('dl')" ? Why does "$(this).find('dl').length" return 0 or false?

If you comment this piece out, the message is shown.
 
BramNL

Posted: 10/17/2013
Quote message 

I hope I get updates on this thread now. Otherwise feel free to e-mail me on gnoise at gmail .com.
 
mado

Posted: 1/24/2014
Quote message 

hi

please can any one help me to fix this problem because i have the same porblem but i didn't now how to fix it

plzzzzzzz

thx
 
Nebulas

Posted: 1/29/2014
Quote message 

Hi there, we have found a solution to this problem:

First as BramNL stated above, you can simply comment out the line in the script.js within your template folder. We commented it out using /* ... */ then everything shows up.

The problem is, when I try to give that box some CSS attributes like border, padding etc. those values are also visible even if there is no warning/message, that means always visible on every page. So our solution is to

delete or comment that line on 1204 out as stated above :
/* $(this).css('display', $(this).find('dl').length ? '' : 'none'); */

and right beneath it paste:

try { if(document.getElementById('system-message').innerHTML.length < 1)
{ document.getElementsByClassName('art-post art-messages')[0].style.display='none';} else {
document.getElementsByClassName('art-post art-messages')[0].style.display='block';} } catch(e) {}

that way it sets display:none; when the content is empty and display:block; when it has a message - after the css file has been loaded. And you can assign CSS to the class. Default should be is .art-messages.

In the css also put "display:none;" because otherwise in that second between loading the css and the js script you see the empty box. This way default is set to display:none; and get's overwriten by display:block; when there is content.

Hope that helps!
 
Nebulas

Posted: 1/29/2014
Quote message 

Oh and of course you have to replace the "art-post art-messages" with whatever you have assigned to using Artisteer. In the configurations there you can replace "art-" with something else.
 
Ventsislav

Posted: 8/4/2015
Quote message 

I see that the topic is old, but is live for me.
Please, if anyone knows what needs to be added as CSS
If you add:

.art-messages
{
display: none;
}

Messages gone
Thanks
 
Сергей

Posted: 10/1/2015
Quote message 

Quote Nebulas:

Hi there, we have found a solution to this problem:

First as BramNL stated above, you can simply comment out the line in the script.js within your template folder. We commented it out using /* ... */ then everything shows up.

The problem is, when I try to give that box some CSS attributes like border, padding etc. those values are also visible even if there is no warning/message, that means always visible on every page. So our solution is to

delete or comment that line on 1204 out as stated above :
/* $(this).css('display', $(this).find('dl').length ? '' : 'none'); */

and right beneath it paste:

try { if(document.getElementById('system-message').innerHTML.length < 1)
{ document.getElementsByClassName('art-post art-messages')[0].style.display='none';} else {
document.getElementsByClassName('art-post art-messages')[0].style.display='block';} } catch(e) {}

that way it sets display:none; when the content is empty and display:block; when it has a message - after the css file has been loaded. And you can assign CSS to the class. Default should be is .art-messages.

In the css also put "display:none;" because otherwise in that second between loading the css and the js script you see the empty box. This way default is set to display:none; and get's overwriten by display:block; when there is content.

Hope that helps!

Ваше решение помогло! Спасибо большое!
:-)