Views: 2087
Number of votes: 1
Average rating:

Quick Publishing bug (page guides)

I noticed that the edit-panel-iframe overflows the body with about 40px, when creating a page using page guides. This prevents the browser from displaying the last 40px of the iframe-content (in my case, two dropdown properties). You’ll not notice anything as long as all properties is visible without scrolling. This can be reproduced in both IE and FF.

Capture1

I also noticed that quick-edit and “quick-create” (right-click –> new page) was working as expected, every property is visible, since your able to scroll down to the bottom without any overflow. I had to resolve this issue, since page guides is important in this project. So i did some browsing in the reflector as usual, and found out the following:

The page guides uses a masterpage called PageGuide.Master:

<%@ Register TagPrefix="EPiServerEdit" TagName="EditFrameworkHeader" Src="EditFrameworkHeader.ascx"%>
<asp:Content ID="Content1" ContentPlaceHolderID="FullRegion" runat="server">
    <div>
        <EPiServerEdit:EditFrameworkHeader runat="server" MenuSelectionPath=""/>
    </div>
    <div>
        <EPiServerUI:SystemIFrame ID="SystemIFrame1" runat="server" AutoAppendQueryString="true" SourceFile="EditPanel.aspx" Name="EditPanel" />
    </div>
</asp:Content>

The other modes is using QuickEdit.master

<%@ Register TagPrefix="EPiServerEdit" TagName="EditFrameworkHeader" Src="EditFrameworkHeader.ascx"%>
<asp:Content ContentPlaceHolderID="FullRegion" runat="server">
    <table cellpadding="0" cellspacing="0" width="100%" height="100%">
        <tr>
            <td style="height: 4.4em;">
                <EPiServerEdit:EditFrameworkHeader runat="server" />
            </td>
        </tr>
        <tr>
            <td>
                <EPiServerUI:SystemIFrame ID="SystemIFrame1" runat="server" AutoAppendQueryString="true" SourceFile="EditPanel.aspx" Name="EditPanel" />
            </td>
        </tr>
    </table>
</asp:Content>

The only thing that differs in these two master pages is the wrapping table in the markup. The inherited classes doesn’t contain any logic. So I basically just replaced the markup in PageGuide.master with the markup from QuickEdit.master, and everything ended up working as expected. I hope this will be resolved in the next release of EPiServer CMS, but this is a easy hotfix. I haven’t discovered any problems with this hack so far. You could probably use a virtual path mapping if you don’t won’t to change the “original” master page for the whole server, as i did.

Nov 22, 2011

Please login to comment.