Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have a custom branding solution which was written before I started at my current client. Now they want their custom page layout modified, by adding 3 adjacent zones next to eachother. This page layout was installed via a farm feature as part of a branding solution. So I copied the default page layout in SharePoint Designer and edited it. Below the last zones I added a table row with 3 new zones:

<tr>
        <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top">
        <WebPartPages:WebPartZone runat="server" title="<%$Resources:cms,WebPartZoneTitle_LeftZoneFirst%>" ID="LeftZoneFirst"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone>
        </td>
        <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top">
        <WebPartPages:WebPartZone runat="server" title="<%$Resources:cms,WebPartZoneTitle_LeftZoneMiddle%>" id="MyLeftZoneMiddle"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone>
        </td>
        <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top">
        <WebPartPages:WebPartZone  runat="server" title="<%$Resources:cms,WebPartZoneTitle_LeftZoneRight%>" id="MyLeftZoneRight"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone>
        </td>
    </tr>   

The page saves and I am able to check it in, but when I create a page from there i have an error:

The resource object with key 'WebPartZoneTitle_LeftZoneFirst' was not found.

Troubleshoot issues with Microsoft SharePoint Foundation.

Correlation ID: 72aa4c6f-e86c-4aa7-9d70-2939f11dcd11

Date and Time: 12/19/2012 5:05:50 PM

I'm not sure If I have done anything wrong but i have checked the format of the new zones and they are exactly the same as the already present zones. Am I going about this the wrong way. What is the best way to add zones to an already present page layout without creating a custom feature. The branding solution is already buggy but they will not allow me to rewrite it. Thanks in advance

share|improve this question
add comment

1 Answer 1

The right way would be to modify the layout in the branding solution and then redeploy it so that all pages using the existing layout would automatically pick up the change. However, since they are not allowing you the option of fixing this the right way, you must now find the method that is least wrong... which is not ideal but that is how the world works.

The next best way would be to create a new solution that contained a new page layout as well as some code in the FeatureActivated event that would change the layout of all pages that point to the old layout to use the new one. The layout would then be maintained in that solution.

If that is not an option then what you are doing now is the next best option, just remember that this option is extremely manual so if this layout is needed in other site collections or in other environments that you need to place it there manually.

The worst way would be to use Designer to modify the existing page layout directly as this would break the connection between the branding solution and the layout so this option can be discarded.

share|improve this answer
    
Hi there, thanks for your advice, what worked for me since i had limited time was changing the declaration of my zone using a resource file to a hard coded title. From This: –  tenille bennett Dec 20 '12 at 10:00
    
thanks for your advice, what worked for me since i had limited time was changing the declaration of my zone using a resource file to a hard coded title. From this: <td> <WebPartPages:WebPartZone runat="server" Title="<%$Resources:cms,WebPartZoneTitle_TopRight%>" ID="TopRightRow"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone> To this: <td> <WebPartPages:WebPartZone runat="server" Title="TopRight" ID="TopRightRow"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone> –  tenille bennett Dec 20 '12 at 10:07
    
<td> <WebPartPages:WebPartZone runat="server" Title="<%$Resources:cms,WebPartZoneTitle_TopRight%>" ID="TopRightRow"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone> To this: <td> <WebPartPages:WebPartZone runat="server" Title="TopRight" ID="TopRightRow"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone> –  tenille bennett Dec 20 '12 at 10:12
    
Please don't use answer box to add comments. Either comments the Dave's answer or edit your original question to add more details. –  Steve B Dec 20 '12 at 10:15
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.