wizzbangwa
|
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
|
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
|
I hope I get updates on this thread now. Otherwise feel free to e-mail me on gnoise at gmail .com.
|
|
mado
|
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
|
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
|
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
|
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
|
|
Сергей
|
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!
Ваше решение помогло! Спасибо большое!
|
|