Home » Sharepoint 2010RSS

All Site Content and Recycle Bin are missing from Quick Launch from Page Layout-based pages

I have created a Team Site since my client is wants an Intranet site. Inside this team site, I enabled the Publishing Infrastructure Features, so that I created pages based on Page Layout. By enabling the publishing feature I can perform

Navigate to my default landing page http://localhost/SitePages/Home.aspx Site Actions Site Settings Page Layout and Templates set the default page layout for newly created pages.  If I did not enable the publishing features, I do not see 'Page Layout and Templates' option under site settings.

I noticed that I can only take advantage of the new page layout, which I specified in #5 above, if I perform the following:

Navigate to my default landing page http://localhost/SitePages/Home.aspx From the Quick Launch, view all site content. Click on the 'Pages' library. Site Actions. New Page. 
If I don't follow the above steps, the newly created page defaults to the OOB wiki template. By following the above steps, my new page is based on the page layout I specified above.

The problem I am having is:

Navigate to my newly created page http://localhost/Pages/MyNewPage.aspx Note that 'All Site Content' and 'Recycle Bin' is missing. Using the IE developer toolbar, I noticed that the html if rendered. However, the rendered HTML is decorated with a CSS style, 'display:none;'.
QUESTION: How can I get the 'All Site Content' and 'Recycle Bin' to appear on pages that are based on a page layout? 

Cheers!

 

9 Answers Found

 

Answer 1

Here's the workaround I came up with:

Create a new page  layout based  on 'PageLayoutTemplate.aspx'. This page layout, coincidentally, is the only page layout, that, when you view  in browser, actually renders the 'recycle bin' and 'all content' links. Replace the placeholdermain section with that from BlankWebPartPage.aspx  
You should now be able to see the web part zones as well as recycle  bin and all content.

Cheers!

 

Answer 2

I prefer to use FireBug, but here's the offending style:

.s4-specialNavLinkList  {
display:none;
}

The easiest thing to do is just make a copy of the master page, then add that style  inline at the top of the new master page  and just remove the display:none.  You could also do the same thing but saving that line to a custom CSS file and then setting it as the alternate CSS which is on the master page page under the gallery.

You could also make the change with SPD if you wanted to.  Check out Skewer click  and Copy Style As described here:

http://blogs.msdn.com/b/sharepointdesigner/archive/2010/01/12/skewer-click-saves-the-day-page-and-master-page-styling-tips.aspx

 

Answer 3

John,

I considered a custom master page, but I don't want to unconditionally display  'recycle bin' and 'all site  content' links. I want continue to rely on how SharePoint permissions to decides if these links are available. 

The section in question  in the v4.master follows. 

<SharePoint:UIVersionedContent UIVersion="4" runat="server" id="PlaceHolderQuickLaunchBottomV4">

<ContentTemplate>

<ul class="s4-specialNavLinkList">

<li>

<SharePoint:ClusteredSPLinkButton

runat="server"

NavigateUrl="~site/_layouts/recyclebin.aspx"

ImageClass="s4-specialNavIcon"

ImageUrl="/_layouts/images/fgimg.png"

ImageWidth=16

ImageHeight=16

OffsetX=0

OffsetY=428

id="idNavLinkRecycleBin"

Text="<%$Resources:wss,StsDefault_RecycleBin%>"

CssClass="s4-rcycl"

PermissionsString="DeleteListItems" />

</li>


When I firebug viewed a standard team  site page, located under the 'SitePages' virtual directory, the css  used to define the class, "s4-specialNavLinkList", comes from one location. However, when I firebug viewed a page  based on BlankWebPartPage.aspx page layout, located under the 'Pages' virtual folder, the css used to define the class, "s4-specialNavLinkList", comes from a different location. 

 

Answer 4

Is this a bug? Could anyone give a step by step instruction on how to fix this. Thanks.

 

Answer 5

The offending style:

.s4-specialNavLinkList  {
display:none;
}

comes from page-layouts-21.css

under C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\PublishingLayouts\en-us\

Go to the file and remove the offending style.

Other .s4-specialNavLinkList definitions are defined in

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1033\STYLES\Themable\corev4.css
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1033\STYLES\corev4.css

 

Answer 6

Ethand, I thought about removing it, but, how do I know if this css  selector, implemented in page-layouts-21.css, is not required elsewhere? Will removing it have a negative impact in other places?

 

Answer 7

Woah....do NOT modify the out of the box styles!!!!!!  All you've got to do is create a custom style  that overrides that style and just make sure it gets called after the out of the box styles.

This is actually what I suggested earlier in this thread.

 

Answer 8

John, I know that is what you suggested. What I am reluctant to do is override the selector in or any other occurrence of this selector elsewhere, at the risk of breaking something somewhere else.

My understanding is that the definition of .s4-specialNavLinkList  in page-layouts-21.css serves the purpose of hiding the 'recycle bin' and 'all site  content' when the current user does not have permissions to view  these links. If I define an overriding occurrence of this selector won't I break this conditional displaying of these links?

Ideally, if I could determine why page-layouts-21.css even comes into the mix when I use any page  layout other than 'PageLayoutTemplate.aspx'.  I posted a temporary work-around in an earlier post - see above.

Thanks.

 

Answer 9

It is just CSS.  I'd say override it and see what happens.  You could easily try this on a test site.  As long as you are just overriding CSS and not updating the files on the file system you'll be fine.

 

 
 
 

<< Previous      Next >>


Microsoft   |   Windows   |   Visual Studio   |   Follow us on Twitter