1

I've created a WebPart with a TreeView control that output every list view of a SpWeb site. So, I'm intending to set it up into the v4.master NAV zone. Replacing default one.

I found a nice feature solution that replace on runtime, the head V4.master default image on activating event. By using SharePoint:DelegateControler , the solution Module point to a Custom USer Control which can be replaced at runtime based on Feature Activation or Deactivation.

Link: http://www.codeproject.com/Articles/569897/UsingplusDelegateplusControlplusinplusSharepoint

The follwing code shows the deaflut v4.master with the Delagate control of link example. CODE:

    </head>
<body scroll="no" onload="if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();" class="v4master">
  <form runat="server" onsubmit="if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;}">
  <asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" />
    <WebPartPages:SPWebPartManager id="m" runat="Server"/>
<SharePoint:SPNoScript runat="server"/>
<div id="TurnOnAccessibility" style="display:none" class="s4-notdlg noindex">
    <a id="linkTurnOnAcc" href="#" class="ms-TurnOnAcc" onclick="SetIsAccessibilityFeatureEnabled(true);UpdateAccessibilityUI();document.getElementById('linkTurnOffAcc').focus();return false;">
    <SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,master_turnonaccessibility%>" EncodeMethod="HtmlEncode"/></a>
</div>
<div id="TurnOffAccessibility" style="display:none" class="s4-notdlg noindex">
    <a id="linkTurnOffAcc" href="#" class="ms-TurnOffAcc" onclick="SetIsAccessibilityFeatureEnabled(false);UpdateAccessibilityUI();document.getElementById('linkTurnOnAcc').focus();return false;">
    <SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,master_turnoffaccessibility%>" EncodeMethod="HtmlEncode"/></a>
</div>
<div class="s4-notdlg s4-skipribbonshortcut noindex">
    <a href="javascript:;" onclick="javascript:this.href='#startNavigation';" class="ms-SkiptoNavigation" accesskey="<%$Resources:wss,skipribbon_accesskey%>" runat="server">
    <SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,skipRibbonCommandsLink%>" EncodeMethod="HtmlEncode"/></a>
</div>
<div class="s4-notdlg noindex">
    <a href="javascript:;" onclick="javascript:this.href='#mainContent';" class="ms-SkiptoMainContent" accesskey="<%$Resources:wss,maincontent_accesskey%>" runat="server">
    <SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,mainContentLink%>" EncodeMethod="HtmlEncode"/></a>
</div>
<a id="HiddenAnchor" href="javascript:;" style="display:none;"></a>
<SharePoint:DelegateControl runat="server" ControlId="MyControl"/>
<h1>Pratap's Modified Master</h1>
<SharePoint:DelegateControl runat="server" ControlId="GlobalNavigation"/>
<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">
    <div id="s4-ribboncont">
        <SharePoint:SPRibbon
            runat="server"
            PlaceholderElementId="RibbonContainer"
            CssFile="">
            <SharePoint:SPRibbonPeripheralContent
                runat="server"
                Location="TabRowLeft"
                CssClass="ms-siteactionscontainer s4-notdlg">
                       <span class="ms-siteactionsmenu" id="siteactiontd">
                       <SharePoint:SiteActions runat="server" accesskey="<%$Resources:wss,tb_SiteActions_AK%>" id="SiteActionsMenuMain"
                        PrefixHtml=""
                        SuffixHtml=""
                        MenuNotVisibleHtml="&amp;nbsp;"
                        >
                        <CustomTemplate>
                        <SharePoint:FeatureMenuTemplate runat="server"
                            FeatureScope="Site"
                            Location="Microsoft.SharePoint.StandardMenu"
                            GroupId="SiteActions"
                            UseShortId="true"
                            >
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_EditPage"
                                Text="<%$Resources:wss,siteactions_editpage%>"
                                Description="<%$Resources:wss,siteactions_editpagedescriptionv4%>"
                                ImageUrl="/_layouts/images/ActionsEditPage.png"
                                MenuGroupId="100"
                                Sequence="110"
                                ClientOnClickNavigateUrl="javascript:ChangeLayoutMode(false);"
                                />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_TakeOffline"
                                Text="<%$Resources:wss,siteactions_takeoffline%>"
                                Description="<%$Resources:wss,siteactions_takeofflinedescription%>"
                                ImageUrl="/_layouts/images/connecttospworkspace32.png"
                                MenuGroupId="100"
                                Sequence="120"
                                />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CreatePage"
                                Text="<%$Resources:wss,siteactions_createpage%>"
                                Description="<%$Resources:wss,siteactions_createpagedesc%>"
                                ImageUrl="/_layouts/images/NewContentPageHH.png"
                                MenuGroupId="200"
                                Sequence="210"
                                UseShortId="true"
                                ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('Page')) { OpenCreateWebPageDialog('~site/_layouts/createwebpage.aspx') }"
                                PermissionsString="AddListItems, EditListItems"
                                PermissionMode="All" />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CreateDocLib"
                                Text="<%$Resources:wss,siteactions_createdoclib%>"
                                Description="<%$Resources:wss,siteactions_createdoclibdesc%>"
                                ImageUrl="/_layouts/images/NewDocLibHH.png"
                                MenuGroupId="200"
                                Sequence="220"
                                UseShortId="true"
                                ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('DocLib')) { GoToPage('~site/_layouts/new.aspx?FeatureId={00bfea71-e717-4e80-aa17-d0c71b360101}&amp;ListTemplate=101') }"
                                PermissionsString="ManageLists"
                                PermissionMode="Any"
                                VisibilityFeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CreateSite"
                                Text="<%$Resources:wss,siteactions_createsite%>"
                                Description="<%$Resources:wss,siteactions_createsitedesc%>"
                                ImageUrl="/_layouts/images/newweb32.png"
                                MenuGroupId="200"
                                Sequence="230"
                                UseShortId="true"
                                ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('Site')) { STSNavigate('~site/_layouts/newsbweb.aspx') }"
                                PermissionsString="ManageSubwebs,ViewFormPages"
                                PermissionMode="All" />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_Create"
                                Text="<%$Resources:wss,siteactions_create%>"
                                Description="<%$Resources:wss,siteactions_createdesc%>"
                                MenuGroupId="200"
                                Sequence="240"
                                UseShortId="true"
                                ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('All')) { STSNavigate('~site/_layouts/create.aspx') }"
                                PermissionsString="ManageLists, ManageSubwebs"
                                PermissionMode="Any" />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_ViewAllSiteContents"
                                Text="<%$Resources:wss,quiklnch_allcontent%>"
                                Description="<%$Resources:wss,siteactions_allcontentdescription%>"
                                ImageUrl="/_layouts/images/allcontent32.png"
                                MenuGroupId="300"
                                Sequence="302"
                                UseShortId="true"
                                ClientOnClickNavigateUrl="~site/_layouts/viewlsts.aspx"
                                PermissionsString="ViewFormPages"
                                PermissionMode="Any" />
                             <SharePoint:MenuItemTemplate runat="server" id="MenuItem_EditSite"
                                Text="<%$Resources:wss,siteactions_editsite%>"
                                Description="<%$Resources:wss,siteactions_editsitedescription%>"
                                ImageUrl="/_layouts/images/SharePointDesigner32.png"
                                MenuGroupId="300"
                                Sequence="304"
                                UseShortId="true"
                                ClientOnClickScriptContainingPrefixedUrl="EditInSPD('~site/',true);"
                                PermissionsString="AddAndCustomizePages"
                                PermissionMode="Any"
                            />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_SitePermissions"
                                Text="<%$Resources:wss,people_sitepermissions%>"
                                Description="<%$Resources:wss,siteactions_sitepermissiondescriptionv4%>"
                                ImageUrl="/_layouts/images/Permissions32.png"
                                MenuGroupId="300"
                                Sequence="310"
                                UseShortId="true"
                                ClientOnClickNavigateUrl="~site/_layouts/user.aspx"
                                PermissionsString="EnumeratePermissions"
                                PermissionMode="Any" />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_Settings"
                                Text="<%$Resources:wss,settings_pagetitle%>"
                                Description="<%$Resources:wss,siteactions_sitesettingsdescriptionv4%>"
                                ImageUrl="/_layouts/images/settingsIcon.png"
                                MenuGroupId="300"
                                Sequence="320"
                                UseShortId="true"
                                ClientOnClickNavigateUrl="~site/_layouts/settings.aspx"
                                PermissionsString="EnumeratePermissions,ManageWeb,ManageSubwebs,AddAndCustomizePages,ApplyThemeAndBorder,ManageAlerts,ManageLists,ViewUsageData"
                                PermissionMode="Any" />
                            <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CommitNewUI"
                                Text="<%$Resources:wss,siteactions_commitnewui%>"
                                Description="<%$Resources:wss,siteactions_commitnewuidescription%>"
                                ImageUrl="/_layouts/images/visualupgradehh.png"
                                MenuGroupId="300"
                                Sequence="330"
                                UseShortId="true"
                                ClientOnClickScriptContainingPrefixedUrl="GoToPage('~site/_layouts/prjsetng.aspx')"
                                PermissionsString="ManageWeb"
                                PermissionMode="Any"
                                ShowOnlyIfUIVersionConfigurationEnabled="true" />
                        </SharePoint:FeatureMenuTemplate>
                        </CustomTemplate>
                      </SharePoint:SiteActions></span>
                <asp:ContentPlaceHolder id="PlaceHolderGlobalNavigation" runat="server">
                        <SharePoint:PopoutMenu
                            runat="server"
                            ID="GlobalBreadCrumbNavPopout"
                            IconUrl="/_layouts/images/fgimg.png"
                            IconAlt="<%$Resources:wss,master_breadcrumbIconAlt%>"
                            IconOffsetX=0
                            IconOffsetY=112
                            IconWidth=16
                            IconHeight=16
                            AnchorCss="s4-breadcrumb-anchor"
                            AnchorOpenCss="s4-breadcrumb-anchor-open"
                            MenuCss="s4-breadcrumb-menu">
                            <div class="s4-breadcrumb-top">
                                <asp:Label runat="server" CssClass="s4-breadcrumb-header" Text="<%$Resources:wss,master_breadcrumbHeader%>" />
                            </div>
                            <asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server">
                                <SharePoint:ListSiteMapPath
                                    runat="server"
                                    SiteMapProviders="SPSiteMapProvider,SPContentMapProvider"
                                    RenderCurrentNodeAsLink="false"
                                    PathSeparator=""
                                    CssClass="s4-breadcrumb"
                                    NodeStyle-CssClass="s4-breadcrumbNode"
                                    CurrentNodeStyle-CssClass="s4-breadcrumbCurrentNode"
                                    RootNodeStyle-CssClass="s4-breadcrumbRootNode"
                                    NodeImageOffsetX=0
                                    NodeImageOffsetY=353
                                    NodeImageWidth=16
                                    NodeImageHeight=16
                                    NodeImageUrl="/_layouts/images/fgimg.png"
                                    RTLNodeImageOffsetX=0
                                    RTLNodeImageOffsetY=376
                                    RTLNodeImageWidth=16
                                    RTLNodeImageHeight=16
                                    RTLNodeImageUrl="/_layouts/images/fgimg.png"
                                    HideInteriorRootNodes="true"
                                    SkipLinkText="" />
                                </asp:ContentPlaceHolder>
                        </SharePoint:PopoutMenu>
                        <div class="s4-die">
                            <asp:ContentPlaceHolder id="PlaceHolderGlobalNavigationSiteMap" runat="server" Visible="false">
                            </asp:ContentPlaceHolder>
                        </div>
                </asp:ContentPlaceHolder>
                <SharePoint:PageStateActionButton id="PageStateActionButton" runat="server" Visible="false" />
            </SharePoint:SPRibbonPeripheralContent>
            <SharePoint:SPRibbonPeripheralContent
                runat="server"
                Location="TabRowRight"
                ID="RibbonTabRowRight"
                CssClass="s4-trc-container s4-notdlg">
    <SharePoint:DelegateControl runat="server" ID="GlobalDelegate0" ControlId="GlobalSiteLink0" />
     <a href="#" tabindex="-1" style="display:none"></a><a href="#" tabindex="-1" style="display:none"></a>
     <div class="s4-trc-container-menu">
         <div>
            <wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false">
            </wssuc:Welcome>
            <wssuc:MUISelector ID="IdMuiSelector" runat="server"/>
        </div>
    </div>
    <SharePoint:DelegateControl ControlId="GlobalSiteLink2" ID="GlobalDelegate2" Scope="Farm" runat="server" />
    <span>
        <span class="s4-devdashboard">
            <Sharepoint:DeveloperDashboardLauncher
                ID="DeveloperDashboardLauncher"
                NavigateUrl="javascript:ToggleDeveloperDashboard()"
                runat="server"
                ImageUrl="/_layouts/images/fgimg.png"
                Text="<%$Resources:wss,multipages_launchdevdashalt_text%>"
                OffsetX=0
                OffsetY=222
                Height=16
                Width=16 />
        </span>
    </span>
            </SharePoint:SPRibbonPeripheralContent>
        </SharePoint:SPRibbon>
    </div>
    <div id="notificationArea" class="s4-noti">
    </div>
    <asp:ContentPlaceHolder ID="SPNavigation" runat="server">
            <SharePoint:DelegateControl runat="server" ControlId="PublishingConsole" Id="PublishingConsoleDelegate">
           </SharePoint:DelegateControl>
    </asp:ContentPlaceHolder>
    <div id="WebPartAdderUpdatePanelContainer">
        <asp:UpdatePanel
            ID="WebPartAdderUpdatePanel"
            UpdateMode="Conditional"
            ChildrenAsTriggers="false"
            runat="server">
            <ContentTemplate>
                <WebPartPages:WebPartAdder ID="WebPartAdder" runat="server" />
            </ContentTemplate>
            <Triggers>
                <asp:PostBackTrigger ControlID="WebPartAdder" />
            </Triggers>
        </asp:UpdatePanel>
    </div>
</div>
<div id="s4-workspace">

That's the code row at the begging of the code that allows the runtime changing:

 <SharePoint:DelegateControl runat="server" ControlId="MyControl"/>
<h1>Pratap's Modified Master</h1> 

Then, I'd Like to do the same thing for the NAV Place holder control but I have non idea where to insert the DelegateControl.

Has anybody some idea about this?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.