Global Area only visible when logged in
Permalink 1 user found helpful
I defined a global area for a site-wide navigation menu:
Then, I added an autonav block to the global area.
As long as I'm logged in as administrator, the navigation menu is visible. But when I log out, it's gone.
I didn't set any permissions, it's an almost fresh installation of c5.6.0.2.
This solves my problem: If I delete the autonav block and add it again, it's visible both for administrators and guests.
Can anybody explain this to me?
<?php $subNav = new GlobalArea('Sub Navigation'); $subNav->display(); ?>
Then, I added an autonav block to the global area.
As long as I'm logged in as administrator, the navigation menu is visible. But when I log out, it's gone.
I didn't set any permissions, it's an almost fresh installation of c5.6.0.2.
This solves my problem: If I delete the autonav block and add it again, it's visible both for administrators and guests.
Can anybody explain this to me?
![tallacman](/files/avatars/376.jpg)
Did you approve the changes once you made them? Otherwise they wont appear to the public.
Yes, of course.
UPDATE: Ah, now I see what you meant. I used to add blocks to global areas in the frontend (that means directly on the page). Most of the time, this worked. But sometimes, I ran into the problem described above.
Now, I tried to add blocks via Dashboard > Stacks & Blocks > Stacks. Here, I can see the Approve button you probably talked about. If I add blocks here and immediately click the Approve button, everything works like a charm.
I don't know if this is a bug or not. Maybe global areas are not intended for adding blocks in the frontend?
UPDATE: Ah, now I see what you meant. I used to add blocks to global areas in the frontend (that means directly on the page). Most of the time, this worked. But sometimes, I ran into the problem described above.
Now, I tried to add blocks via Dashboard > Stacks & Blocks > Stacks. Here, I can see the Approve button you probably talked about. If I add blocks here and immediately click the Approve button, everything works like a charm.
I don't know if this is a bug or not. Maybe global areas are not intended for adding blocks in the frontend?
You got the code wrong
<?php $subNav = new GlobalArea('Sub Navigation'); $subNav->display($c); //you missed your $c variable to display on page ?>
Actually, my code isn't wrong - you can leave out "$c" when you define a global area.
Have a look at the default c5 templates or here:
http://www.concrete5.org/documentation/how-tos/developers/concrete5...
Have a look at the default c5 templates or here:
http://www.concrete5.org/documentation/how-tos/developers/concrete5...
Hmm... I have looked at all core themes default.php and all of them supply $c, but you are right in that the how-to does leave it out.
Though in the developer documentation it clearly state you should supply the page (scroll down to the bottom): http://www.concrete5.org/documentation/developers/pages/areas...
Have you tried it?
Edit: Ah... GlobalArea... You are right, they don't hold $c in the core themes.
Though in the developer documentation it clearly state you should supply the page (scroll down to the bottom): http://www.concrete5.org/documentation/developers/pages/areas...
Have you tried it?
Edit: Ah... GlobalArea... You are right, they don't hold $c in the core themes.
Yep. But I guess I found the reason. See my reply above.
:)
Tallacman was right all along. I'm with you on this one as I have missed the approve button a few times myself.
Tallacman was right all along. I'm with you on this one as I have missed the approve button a few times myself.
Don't worry karlerti!
I didn't realize you needed to approve the changes either. :) I only just found that out thanks to you!
I didn't realize you needed to approve the changes either. :) I only just found that out thanks to you!
Wanted to chime in. In case someone else ran into this issue. Make sure you get good sleep and check your permissions on that block as Tallacman said. If you remove permissions for a group, but turn on permissions manually for a specific page, you will need to manually enable permissions for that global block from the same aforementioned (Stacks) area.
Thank you!! Banging my head against a wall trying to figure this out! :)
After playing around for quite a long time, I found the final explanation:
I had two global areas on my page: one for the main navigation and one for the sub navigation. In the frontend, I added autonav blocks to both areas immediately after each other and then published the page.
The first block (main navigation) worked fine immediately, but the second block (sub navigation) required to go to Dashboard > Stacks & Blocks > Stacks > Sub Navigation > Approve Changes.
That's it!
You shouldn't add blocks to several global areas at once.
I had two global areas on my page: one for the main navigation and one for the sub navigation. In the frontend, I added autonav blocks to both areas immediately after each other and then published the page.
The first block (main navigation) worked fine immediately, but the second block (sub navigation) required to go to Dashboard > Stacks & Blocks > Stacks > Sub Navigation > Approve Changes.
That's it!
You shouldn't add blocks to several global areas at once.
That helped me - thanks!