Customized Page Layout templates

How to develop new customized community page layout templates.
Eg, I need to have a template with more than 3 column layout and also a 3 column page laypout template on which the first column will be the widest.
Anyone can help me on this or guide me to some documentation reg this. Can ping me at [email protected]
Regards,
Satish

Satish,
I believe you are talking about portlet layout, not page layout. Page layout is related to navigation, while portlet layout deals with how you want your portlets to display and Developing custom portlet layout is very hard.
It is not the layout aspect that is hard - you can edit MyPortalContentView to tweak the layout and use Activityspaces override to plugin your custom MyPortalContentView (see devcenter.plumtree.com for documentation on this) - it is all the other parts.
For example, you can create a 4 column layout, but that would mean that you need to add this new portlet layout to the layout picker in the Edit Page editor, and you need to figure out how to store portlet to the 4th column and deal with wide and narrow portlets in the new column.
The only situation where it would be feasible to create new column is if you have put one or a few hardcoded portlets there to avoid the management issues, but that is not trivial either, as you have to write custom code against the Server API.

Similar Messages

  • Reg: Custom Page Layouts and Custom iView Templates

    Dear Gurus,
    Can you please guide me with the Business Scenarios on when will we be creating Custom page layout?
    Any links which helps is creating them.
    Thanks & Regards,
    Pramod

    Hi Pramod,
    The only purpose of a page layout is to layout the iviews in a page according to your needs. It could be for WPC or regular portal pages as well. For this I can't think of any other business scenario.
    However, a template in general is like a blue print.
    You can create an iview template, layout template or a page template by setting the property "Is a Template" to YES for any iview, layout or page.
    So, in general:
    If the standard delivered components do not serve our purposes. we create custom components and deploy them onto portal as .par applications.
    Then from the .par deployed onto the portal,
    1. We can directly create an iview (or) create an iview template first and then create iviews using the template.
    2. We can directly create a layout (or) create a layout template first and then create layouts using the template.
    If you create something (iview/page/layout) as a template, then it could be used as a blue print to create similar objects in the future.
    Templates are generally created for ease of use and to maintain standards in the future.
    Thanks,
    Shanti

  • Unable to see the pageviewer in a page from pages library in a custom page layout

    <File Url="Inbox.aspx" Type="GhostableInLibrary" Level="Published" Path="myPages\Pages\Inbox.aspx" >
    <AllUsersWebPart WebPartOrder="0" WebPartZoneID="Header" ID="inboxwp1">
    <![CDATA[<WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/WebPart/v2">
    <Title>Inbox</Title>
    <FrameType>Default</FrameType>
    <Description>Displays another Web page on this Web page. The other Web page is presented in an IFrame.</Description>
    <IsIncluded>true</IsIncluded>
    <ZoneID>wpz</ZoneID>
    <PartOrder>0</PartOrder>
    <FrameState>Normal</FrameState>
    <Height></Height>
    <Width />
    <AllowRemove>true</AllowRemove>
    <AllowZoneChange>true</AllowZoneChange>
    <AllowMinimize>true</AllowMinimize>
    <AllowConnect>true</AllowConnect>
    <AllowEdit>true</AllowEdit>
    <AllowHide>true</AllowHide>
    <IsVisible>true</IsVisible>
    <DetailLink />
    <HelpLink />
    <HelpMode>Modeless</HelpMode>
    <Dir>Default</Dir>
    <PartImageSmall />
    <MissingAssembly>Cannot import this Web Part.</MissingAssembly>
    <PartImageLarge>/_layouts/15/images/mscntvwl.gif</PartImageLarge>
    <IsIncludedFilter />
    <Assembly>Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
    <TypeName>Microsoft.SharePoint.WebPartPages.PageViewerWebPart</TypeName>
    <ContentLink xmlns="http://schemas.microsoft.com/WebPart/v2/PageViewer">/_layouts/15/AppPages/InboxRedirectPage.aspx</ContentLink>
    <SourceType xmlns="http://schemas.microsoft.com/WebPart/v2/PageViewer">URL</SourceType>
    </WebPart>]]>
    </AllUsersWebPart>
    <AllUsersWebPart WebPartOrder="0" WebPartZoneID="LeftWP" ID="wpLeft">
    <![CDATA[
    <webParts>
    <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
    <metaData>
    <type name="myWebParts.ProjectLinks.ProjectLinks, m, Version=1.0.0.0, Culture=neutral, PublicKeyToken=52f3214933d771f7" />
    <importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
    </metaData>
    <data>
    <properties>
    <property name="Title" type="string">myprojectLinks</property>
    <property name="Description" type="string">My Visual Web Part</property>
    </properties>
    </data>
    </webPart>
    </webParts>
    ]]>
    </AllUsersWebPart>
    <Property Name="ContentTypeId" Value="0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF390076F7B5D03DD146D699D042E1C5D76EF7" />
    <Property Name="FileLeafRef" Value="Inbox.aspx" />
    <Property Name="Title" Value="Inbox" />
    <Property Name="PublishingPageLayout" Value="~SiteCollection/_catalogs/masterpage/myPageLayout/myPage.aspx, my custom Page Template"/>
    <Property Name="ContentType" Value="myPageCT" />
    <Property Name="_ModerationStatus" Value="3" />
    <Property Name="FileDirRef" Value="Pages" />
    <Property Name="FSObjType" Value="0" />
    </File>
    I have created a custom page layout in my site collec. using VS 2012 and deployed am able to see the page in the pages lib [inbox.aspx].
    Here, I have added a page viewer web part and I want to redirect to another application page, which is already coded [inboxredirect.aspx] in my solution[its another dll - another SP solution which has appln pages and web parts
    etc - ] 
    The issue is that, i am unable to see the page viewer web part when the page is displayed. inbox.aspx is a page which is created once my custompagelayouts solution is deployed and when i navigate to this page, i am stuck . i am getting
    the  " access denied " message is displayed.  
    can anyone help why this  error is displayed?
    in my inboxredirect.aspx page i am inherting from unsecuredlayoutspagebase class, so  i dont think , access denied message should come.
    using System;
    using System.Configuration;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    namespace myproj.Layouts.AppPages
    public partial class InboxRedirectPage : UnsecuredLayoutsPageBase
    string projectName = string.Empty;
    protected void Page_Load(object sender, EventArgs e)
    string siteUrl = SPContext.Current.Web.Url;
    using (SPSite site = new SPSite(siteUrl))
    using (SPWeb web = site.OpenWeb())
    string urlProjectName =Request.UrlReferrer.ToString();
    projectName = urlProjectName.Split('/')[5];
    //end
    SPUser user = web.CurrentUser;
    if (user != null)
    above is my appln page to which i am redirecting.

    Solved it myself guys... (Well the major part)
    Got help from here...
    https://www.nothingbutsharepoint.com/sites/devwiki/articles/pages/blank-open-save-dialog-when-browsing-document-library-from-office-clients.aspx
    and
    http://www.sharepointconfig.com/2011/02/vs2010-list-definition-template-missing-file-dialog-view/
    with some tweaks of my own..
    Still working on it because its showing SharePoint 2010 header... And I need 2013 look...

  • Adding validation to custom page layout with taxonomyfieldcontrol

    Hi we have a publishing site template with various custom page layouts.  When in edit mode, we need to add some validations to the taxonomyfieldcontrols.  What the best approach to do that?

    Hi,
    According to your post, my understanding is that you wanted to add some validations to the TaxonomyFieldControl.
    We can use the
    TaxonomyFieldControl.validate method to ensure that all taxonomy data is valid.
    To use the built-in taxonomy controls of SharePoint 2010 your best choice might be to go with the
    TaxonomyWebTaggingControl.
    This is the class the field control of the TaxonomyField,
    TaxonomyFieldControl itself uses internally to render its content, although it does not expose the full capability of the control.
    There are two articles about the TaxonomyWebTaggingControl
    , you can have a look at them.
    http://pholpar.wordpress.com/2010/02/15/build-your-own-user-interface-components-using-the-taxonomy-controls/
    https://pholpar.wordpress.com/2010/03/page/2/
    Thanks,
    Jason
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Jason Guo
    TechNet Community Support

  • Custom Page Layout Columns Fail to Appear Outside Preview

    I created a custom page layout (jsp) in the Netweaver Developer Studio and used it as a template to create a page.  The page layout has 7 containers/columns.  When I create a page using that template and view the page object's layout, everything looks fine, and once I've assigned an iView to each column and preview the page, it looks good too - all iviews are there.  When I assign it to a role and preview the page from there, it also looks fine. 
    However, here is the problem: when I navigate to the role on the portal to view the page, the last (bottom) two iviews fail to appear, as if those iviews or columns were never assigned. 
    Is this a problem with having too many columns in a page layout?  Has anyone had this problem before?
    I tried deleting columns 4 and 5 in the page layout so that there were only 5 columns total (but the last two were the same last two from before), and that worked perfectly well.  When I added just one more, things got messed up again.  Please help.

    Just an update...
    When I create a 1 column (full width) page (not using a custom page layout or anything), and then add the problem page I was talking about above to this 1 column page (via deltaLink), and add this new page to the role, the new page displays the custom page perfectly, just as the preview shows.  The old page still refuses to display the last two columns (unlike its preview), but they appear in the old page WITHIN the new page.  I don't know why this is.
    Mainly for curiosity but also because I do not necessarily wish to use this solution (I will need to create many pages and this will double the number of pages to create), I would appreciate it if people could continue to offer suggestions.
    Thanks!
    Adele

  • Can I create a completely custom page layout for a book, positioning and sizing pictures and text?

    I'd like to create a totally custom page, inserting photos at various locations and sizes as well as text regions.  Can this be done?   I haven't been able to find a way to do this.

    I've found it's worthwhile spending time fiddling and adjusting Lightroom's templates and saving to Custom Pages but I haven't found a way of removing a custom page layout once I've finished using it or tweaked it some more. Can you say how to remove one, please, johnbeardy? I can put them in and out of Favourites but the Custom Pages list just gets too long.

  • Custom page layouts are not getting displayed in ribbon

    Hi,
    I have created a custom page layout under welcome category. This is getting displayed in pages library while creating a page and also in page layout option from site settings which is fine. But when a page is in edit mode if we click page->page layouts
    from ribbon, all the default page layouts are getting displayed except my custom page layout.
    Please advise.
    Regards,
    Chaitanya.

    you have a subsite in a site collection •the publishing feature is activated in the subsite, but not in the site collection •you want to edit/add page layouts on the site collection level, to be used within your subsite •when you open the site collection
    in SharePoint Designer, you can't see Page Layouts in the Site Objects panel You now have 2 options: you can either activate the publishing feature in the site collection (and the Page Layouts link comes back), or you can use the All Files link and browse
    to the master pages and page layouts library (_catalogs > masterpage.) Either option will do, unless you really don't want the publishing feature in the site collection.
    To fix the issue go to Site Actions -> Site Settings in the upper left corner.
    Under "Site Collection Administration" click on "Site Collection Features".
    Look for "SharePoint Server Publishing Infrastructure" and activate it. It might take a moment to load.
    Next return to "Site Settings" and click on "Manage Site Features"
    Look for "SharePoint Server Publishing" and activate it. It might take a moment to load.
    If this helped you resolve your issue, please mark it Answered

  • Error in using Custom Page Layout

    Hi all,
    I have created some customs page layouts, and they are working fine in the Portal (EP 6.0 SP2).
    Now I have imported them to another Portal (same version than the first one), I made an EPA pakage with the PCD objects for the new page layouts and deployed the PAR file containing the the JSP for the new layouts into the Portal.
    The result of this is the following:
    - I am able to create a page and choose one of my customs layouts as a default layout.
    - When in the page I try to select 'Edit > Page Layout' I get a 'Portal runtime error', and in the page logger I see the following exception (see it copied below):
    Am I missing any step in the transport? I think no but maybe there is something else I have to do.
    Thank you very much in advanced and regards
    Stella
    Exception ID:06:36_15/03/06_0043
    com.sapportals.portal.prt.component.PortalComponentException: Error in service call of Portal Component
    Component : com.sap.portal.appdesigner.pageeditor.LayoutView
    Component class : com.sapportals.appdesigner.pageeditor.layout.LayoutView
    User : biaalerein
            at com.sapportals.portal.prt.core.PortalRequestManager.handlePortalComponentException(PortalRequestManager.java:853)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:311)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
            at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
            at com.sapportals.appdesigner.pageeditor.WorkPlace.drawView(WorkPlace.java:354)
            at com.sapportals.appdesigner.pageeditor.WorkPlace.doContent(WorkPlace.java:206)
            at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
            at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
            at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
            at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:601)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
            at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
            at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
            at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.inqmy.services.servlets_jsp.server.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:275)
            at com.inqmy.services.servlets_jsp.server.RequestDispatcherImpl.include(RequestDispatcherImpl.java:384)
            at com.sapportals.portal.prt.pom.RootComponentNode.service(RootComponentNode.java:144)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
            at com.sapportals.portal.prt.core.async.AsyncIncludeRunnable$1$DoDispatchRequest.run(AsyncIncludeRunnable.java:363)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sapportals.portal.prt.core.async.AsyncIncludeRunnable.run(AsyncIncludeRunnable.java:376)
            at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:729)
            at java.lang.Thread.run(Thread.java:479)

    Hi Krishna,
    I've been able to solve my problem.
    It was something wrong when transporting the page Layouts with an EPA package from one Portal to another. Some properties were lost.
    What I've done is to recreate manually the page layouts PCD Objects. And all it's working OK

  • Custom control in custom page layout not getting shown

    Hi,
    I have created a site column for Date field:
    <Field ID="{GUID}" Name="MyCustomPageLayoutDate" StaticName="MyCustomPageLayoutDate" Group="TestGroup" Type="DateTime" Format="DateOnly" DisplayName="Date" Required="FALSE" ><Field ID ="{guid}" Name ="MyCustomLayoutDateDisplay" DisplayName="Date Display"
             Group="TestGroup"
             Type="Calculated"
             ResultType="Text"
             ReadOnly="TRUE"
             Required="FALSE">
        <Formula>=TEXT([Date],"MMMM dd, yyyy")</Formula>
      </Field>
    This is added in the page layout content type:
    <FieldRef ID="{guid}" Name="MyCustomPageLayoutDate" />  <FieldRef ID="{guid}" Name ="MyCustomLayoutDateDisplay" />
    In the custom page layout, it is added as below:
    <Publishing:EditModePanel ID="EditModePanel5" runat="server" CssClass="edit-mode-panel">
    <tr>
    <td>
    Date
    </td>
    </tr>
    </Publishing:EditModePanel>
    <PublishingWebControls:EditModePanel ID="DateEditModePanel" runat="server" PageDisplayMode="Edit" SupressTag="True">
    <tr>
    <td >
    <PageFieldDateTimeField:DateTimeField ID="DateTimeField1" FieldName="GUID" runat="server">
    </PageFieldDateTimeField:DateTimeField>
    </td>
    </tr>
    </PublishingWebControls:EditModePanel>
    <PublishingWebControls:EditModePanel ID="DatePublishModePanel" PageDisplayMode="Display" runat="server">
    <tr>
    <td>
    <SharePoint:CalculatedField ID="CalculatedDateField" FieldName="guid" runat="server" />
    </td>
    </tr>
    </PublishingWebControls:EditModePanel>
    In the edit mode, the date is getting shown, and I am able to select a date. When the page is published, the entered date is not getting displayed.
    How to fix this?
    Thanks

    Hi,
    I tried to reproduce this issue like this:
    1. Create a DateTime site column “MyDateTimeCol01”;
    2. Create a Calculated site column “MyCalculated03” with formula “=TEXT(MyDateTimeCol01,"MMMM dd, yyyy")”;
    3. Create a Page Layout content type contains the two site columns above;
    4. Create a Page Layout with the Page Layout content type, the source code of this page layout as below:
    <asp:Content ContentPlaceholderID="PlaceHolderMain" runat="server">
    <PublishingWebControls:EditModePanel runat=server id="EditModePanel1" PageDisplayMode="Edit">
    <SharePointWebControls:DateTimeField FieldName="9492c1ff-851f-4d1c-bcbf-5637b69ebd63" runat="server"> </SharePointWebControls:DateTimeField>
    </PublishingWebControls:EditModePanel>
    <br/>
    <PublishingWebControls:EditModePanel runat=server id="EditModePanel2" PageDisplayMode="Display">
    date time text:
    <br/>
    <SharePointWebControls:CalculatedField FieldName="9c00c4dc-6a53-4abd-9fa4-6b4dd266c898" runat="server"></SharePointWebControls:CalculatedField>
    </PublishingWebControls:EditModePanel>
    </asp:Content>
    5. After that, create a publishing page with this custom page layout:
    In Edit mode:
    In Display mode:
    I suggest you follow the steps above to make another test to see if the issue persists.
    Thanks 
    Patrick Liang
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Custom Master Page with Custom Page Layout

    Hi All,
    I have created a Custom SharePoint Master Page. In that Master Page I have created a custom Header & Footer.  In between the header and the footer I created a space to put page's content.
    However I have created a page using that master page and it was successfully published.
    After that I wanted to create a Custom Page Layout using that Page previously created. That also was a successful one. But when default Page Layouts in SharePoint 2013 inserted to a page it shows an area that can add content. But in my Page Layout inserted
    to a page it does not show like that.
    So what have I missed when I created the Custom Page Layout? Could you kindly someone tell me how to solve this matter?
    Thanks and regards,
    Chiranthaka

    Can you confirm that your custom page layout has the same WebPart Zones as the default one? They need to be if you wish to see content that was added with the default page layout.
    Nikolas Charlebois-Laprade Microsoft Certified Professional & Software Engineer http://nikcharlebois.com

  • Multiple Page Contents Page Fields In Custom Page Layout SP2013

    I'm rather new so bare with me.  I'm trying to add multiple page content page fields with snippets to a custom page layout html file in SP2013 Designer.  Once I add the snippet and publish, I review the page and any text written
    in the last created page content box saves for both page content boxes instead of saving unique text in both.  How do you change the snippets to where they are unique snippets and won't be referenced as the same one? 
    Any help is greatly appreciated.
    Thanks,
    SP2013Newbie

    ok thnaks a lot for the reply. in my form has 6 pages. so i want to copy only first page half page data ( content & fillble fileds) in to new pdf page. so is this possible ???

  • Combining word processing and page layout templates

    Does anyone know how to (or if it's possible at all) merge or combine a Pages 09 document set up on the "Pages Layout" template with one set up on "Word Processing" template properly? Can these two templates "talk to each other"?
    I'm trying to combine some of my separate class notes for my students into one file, and some were created in Page Layout, with visuals, charts, pics, etc. I also have some Word Document notes that I'd like to merge with the other notes to create one "class notes" file for my students. But I can't seem to do that, for some reason. I can copy individual pages from the Page Layout notes and paste them into my Word Document notes, but they paste as two pages (one page is blank). When I delete that page, the other one is deleted, too. I can't copy and paste from the other direction (word doc to page layout) at all, and like I said, the other way is a little off, as well.
    Any ideas, or is this just not possible in Pages 09? Thanks.

    Re: Jerry
    I'd like to stay in one or the other, but I just like features that are only in one or the other. For example, I like in WP mode that when I get to the end of a page of writing and keep going, a new page appears (with formatting and layout intact on the next). If I'm in PL mode and writing in a text box, it just goes beyond the viewable screen. I also like the ability to select and move around individual pages in PL mode, and that doesn't seem to be available in WP mode (they're all stuck together and move in clumps). But you're right, I'm just going to have to stick with one and figure out some workarounds for some things I like. Since I think I'll be more in WP mode, I'll try to move stuff over from PL.
    Re: Peter
    Thanks for the advice... it's already helped me try to come up with some ways to fix things. The whole click away thing to give me floating objects has been great! You're right, this does seem like a design flaw, but I suppose Apple can't be all things to all people. Still, I'd like a little more...
    Re: Yvan
    Hang in there! You're right, Pages is tough when trying to use created projects in other apps! Like you said, I'm working to rebuild the layout. By the way, my PL document was 16 pages, which when transferred to WP mode doubled in size! Sheesh...
    Thanks to all—I think I'm going to be able to work through this "issue" after all. I appreciate everyone's help.
    Daniel

  • How to set tray's background image in the custom page layout?

    Hi all,
    I've developed custom page layout with custom iView tray implementation. I've applied my layout into my page and added some iViews. Those iViews are URL isolated so they are rendered as an iframe. My problem is that an iframe background containing iView content overcast my background image which I have set in my iView tray implementation. Is it possible to set transparent background for an iframe in this scenario?
    I would be grateful for helpful answers.
    Best Regards,
    Micha&#322; M.

    Hi Tamil,
    That's right, I've already used layout tag library do develop custom tray design but my problem concerns iView's isolation method . URL isolation renders iView's content in an iframe which has its own background. I've read some articles about getting transparent iframes but I'm not sure how could I achive this in SAP EP? Is it possible?
    Best Regards,
    Michal M.

  • Placeholder not visible in custom page layout - publishing site

    Hi,
    I have a custom page layout in publishing site.
    I had added a new textbox to the existing page layout as below:
    <tr id="trCustomContent2">
    <td id="tdCustomContent" style="padding-top:5px;">
    <div id="divCustomContent" style="padding-left:6px !important;vertical-align:top; width:450px;" >
    <h3>
    <PageFieldTextField:TextField ID="TextField1" FieldName="fec9f0d3-77a3-4afc-99d3-99d2cb745d2c" runat="server" >
    </PageFieldTextField:TextField></h3>
    </div>
    </td>
    </tr>
    I deployed the changes, but in the edit mode of the page, i am not able to see the page layout.
    This issue is happening when a subsite is created. For the existing sites, the textbox is getting shown.
    How to fix this?
    Thanks

    Hi Venkatzeus,
    For each page layout, it has associated with a content type.
    You can click into the content type in site content types under Web Designer Galleries in root site settings.
    And then click Add from new site column to create and add the new site column to this content type.
    After that you can add this column to the page layout(.aspx page for the page layout) with the code below(you need to change the fieldname value to the corresponding GUID of the column):
    <div>
    <Publishing:EditModePanel runat="server" CssClass="edit-mode-panel">
    <PageFieldTextField:TextField ID="TextField1" FieldName="6bf50814-27d1-4b36-9980-c702c25080d7" runat="server">
    </PageFieldTextField:TextField>
    </Publishing:EditModePanel>
    </div>
    Best regards.
    Victoria
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Social comment control in custom page layout stucks at "Working" for read access users

    Hi,
    I created a custom page layout which is attched to my custom content type.
    i have a custom field control which is derived from RichImageField.
    i have also added a social comment control to the page layout using
    <SharePointPortalControls:SocialCommentControl ID="SocialCommentControl1" runat="server"  />.
    Now the problem is, an user who have read access for a pages library should post comments. but its not working and when the user clicks post button it stucks at working. but when the user is given contribute access then it works and the comments are posted.
    And one more thing is if i remove my custom field control from the page layout, then user with read access can post the comment without any issues.
    i am sure the issue is caused by my custom field control but dont know how to solve it. i dont want to give contribute access to the users as they can edit the content of the page also. Any help would be appreciated.
    This is the custom field control code.
    public class mycompanyRichImageField : RichImageField
    public static string webimage = null;
    #region Private variables
    /// <summary>
    /// File upload control used to upload image.
    /// </summary>
    private FileUpload fileUpload;
    /// <summary>
    /// Upload button.
    /// </summary>
    private Button btnSave;
    /// <summary>
    /// Delete button.
    /// </summary>
    private Button btnClear;
    /// <summary>
    /// Article image.
    /// </summary>
    private Image imgPicture;
    /// <summary>
    /// Image width.
    /// </summary>
    private DropDownList ddlWidth;
    /// <summary>
    /// Temporary store image url.
    /// </summary>
    private Label lblFileName;
    /// <summary>
    /// Image text.
    /// </summary>
    private TextBox txtImage;
    /// <summary>
    /// Value of image field.
    /// </summary>
    private ImageFieldValue pageImage;
    /// <summary>
    /// List item - current article.
    /// </summary>
    private SPListItem ArticlePage = SPContext.Current.ListItem;
    /// <summary>
    /// The first image width dropdown list options, default value 240 px.
    /// </summary>
    // private int imageWidthWide = 400;
    //private int height = 225;
    /// <summary>
    /// The second image width dropdown list options, default value 120 px.
    /// </summary>
    private int imageWidthNarrow = 126;
    /// <summary>
    /// Picture library to store the image files.
    /// </summary>
    private string imageLibrary = "Images";
    /// <summary>
    /// List field to store Article image.
    /// </summary>
    private string imageField = "Page Image";
    /// <summary>
    /// List field to store image text.
    /// </summary>
    private string imageTextField = "Image Text";
    private string preview = "Preview";
    /// <summary>
    /// List field to store rollup image.
    /// </summary>
    private string rollupImageField = "Rollup Image";
    /// <summary>
    /// Whether to update the rollup image using the current image.
    /// </summary>
    private bool updateRollupImage = false;
    /// <summary>
    /// Whether to display image text.
    /// </summary>
    private bool enableImageText = true;
    #endregion
    #region Properties
    /// <summary>
    /// Gets or sets the first choice of image width.
    /// </summary>
    //public int ImageWidthWide
    // get
    // return this.imageWidthWide;
    // set
    // this.imageWidthWide = value;
    //public int ImageHeight
    // get
    // return this.height;
    // set
    // this.height = value;
    /// <summary>
    /// Gets or sets the second choice of image width.
    /// </summary>
    public int ImageWidthNarrow
    get
    return this.imageWidthNarrow;
    set
    this.imageWidthNarrow = value;
    /// <summary>
    /// Gets or sets the name of the picture library that is used to store image files.
    /// </summary>
    public string ImageLibrary
    get
    return this.imageLibrary;
    set
    this.imageLibrary = value;
    /// <summary>
    /// Gets or sets the field name of image.
    /// </summary>
    public string ImageField
    get
    return this.imageField;
    set
    this.imageField = value;
    /// <summary>
    /// Gets or sets the field name of image text.
    /// </summary>
    public string ImageTextField
    get
    return this.imageTextField;
    set
    this.imageTextField = value;
    /// <summary>
    /// Gets or sets the field name of rollup image.
    /// </summary>
    public string RollupImageField
    get
    return this.rollupImageField;
    set
    this.rollupImageField = value;
    public string Preview
    get
    return this.preview;
    set
    this.preview = value;
    /// <summary>
    /// Gets or sets a value indicating whether to update rollup image using current image.
    /// </summary>
    public bool UpdateRollupImage
    get
    return this.updateRollupImage;
    set
    this.updateRollupImage = value;
    /// <summary>
    /// Gets or sets a value indicating whether the image text should be displayed.
    /// </summary>
    public bool EnableImageText
    get
    return this.enableImageText;
    set
    this.enableImageText = value;
    #endregion
    #region Override methods
    /// <summary>
    /// Using get method instead of set method to set the value.
    /// set method cannot be used here.
    /// </summary>
    public override object Value
    get
    ImageFieldValue value = new ImageFieldValue();
    value.ImageUrl = string.IsNullOrEmpty(this.lblFileName.Text) ? this.imgPicture.ImageUrl : this.lblFileName.Text;
    // value.Width = string.IsNullOrEmpty(this.ddlWidth.Text) ? this.ImageWidthWide : Convert.ToInt32(this.ddlWidth.Text);
    // value.Height = this.ImageHeight;
    ////update the page rollup image.
    if (this.UpdateRollupImage)
    this.ArticlePage[this.RollupImageField] = value;
    if (this.EnableImageText)
    this.ArticlePage[this.ImageTextField] = this.txtImage.Text;
    this.ArticlePage.SystemUpdate(false);
    return value;
    set
    base.Value = value;
    /// <summary>
    /// Intialize all controls.
    /// </summary>
    protected override void CreateChildControls()
    this.pageImage = (ImageFieldValue)this.ArticlePage[this.imageField];
    this.ddlWidth = new DropDownList();
    this.ddlWidth.Width = 99;
    // this.ddlWidth.Items.Add(this.ImageWidthWide.ToString());
    this.ddlWidth.Items.Add(this.ImageWidthNarrow.ToString());
    if (this.pageImage != null && !string.IsNullOrEmpty(this.pageImage.ImageUrl))
    // if (this.pageImage.Width >= this.ImageWidthWide)
    // // this.ddlWidth.SelectedIndex = 0;
    //else
    // // this.ddlWidth.SelectedIndex = 1;
    // this.Controls.Add(this.ddlWidth);
    this.imgPicture = new Image();
    if (this.pageImage != null && !string.IsNullOrEmpty(this.pageImage.ImageUrl))
    this.imgPicture.ImageUrl = SPContext.Current.Site.Url + this.pageImage.ImageUrl;
    this.Controls.Add(this.imgPicture);
    this.fileUpload = new FileUpload();
    this.fileUpload.Width = 180;
    this.Controls.Add(this.fileUpload);
    this.btnSave = new Button();
    this.btnSave.Text = "Upload";
    this.btnSave.CausesValidation = false;
    this.btnSave.Visible = string.IsNullOrEmpty(this.imgPicture.ImageUrl) ? true : false;
    this.Controls.Add(this.btnSave);
    this.btnSave.Click += new EventHandler(this.BtnSave_Click);
    this.btnClear = new Button();
    this.btnClear.Text = "Delete";
    this.btnClear.CausesValidation = false;
    this.btnClear.Visible = !this.btnSave.Visible;
    this.Controls.Add(this.btnClear);
    this.btnClear.Click += new EventHandler(this.BtnClear_Click);
    this.lblFileName = new Label();
    this.Controls.Add(this.lblFileName);
    if (this.EnableImageText)
    this.txtImage = new TextBox();
    this.txtImage.TextMode = TextBoxMode.MultiLine;
    this.txtImage.Rows = 4;
    this.txtImage.Text = this.ArticlePage[this.ImageTextField] == null ? string.Empty : this.ArticlePage[this.ImageTextField].ToString();
    this.Controls.Add(this.txtImage);
    /// <summary>
    /// Render the field in page edit mode.
    /// </summary>
    /// <param name="output">Output stream.</param>
    protected override void RenderFieldForInput(System.Web.UI.HtmlTextWriter output)
    output.Write("<div style='padding-bottom:12px'>");
    if (!string.IsNullOrEmpty(this.imgPicture.ImageUrl))
    output.Write("<br />");
    // this.imgPicture.Width = ((ImageFieldValue)this.Value).Width;
    // this.imgPicture.Height = ((ImageFieldValue)this.Value).Height;
    this.imgPicture.RenderControl(output);
    if (this.EnableImageText)
    this.txtImage.Width = this.imgPicture.Width;
    if (this.EnableImageText)
    output.Write("<br />");
    this.txtImage.RenderControl(output);
    output.Write("<br /><br />");
    this.fileUpload.RenderControl(output);
    this.btnSave.RenderControl(output);
    this.btnClear.RenderControl(output);
    output.Write("<br /><br />");
    //output.Write("Width:");
    //this.ddlWidth.RenderControl(output);
    output.Write("</div>");
    /// <summary>
    /// Render the field in page display mode.
    /// </summary>
    /// <param name="output">Output stream.</param>
    protected override void RenderFieldForDisplay(System.Web.UI.HtmlTextWriter output)
    if (this.ListItemFieldValue != null)
    output.Write("<div style='padding-bottom:12px'>");
    base.RenderFieldForDisplay(output);
    if (this.EnableImageText && this.ArticlePage[this.ImageField] != null
    && this.ArticlePage[this.ImageTextField] != null)
    //string strImgWidth = string.IsNullOrEmpty(this.ddlWidth.Text) ? this.ImageWidthWide.ToString() : this.ddlWidth.Text;
    //string strImgHgt = this.ImageHeight.ToString();
    output.Write("<div style='width:");
    // output.Write(strImgWidth);
    // output.Write(this.imgPicture.ImageUrl);
    // output.Write("<div style='height:");
    // output.Write(strImgHgt);
    output.Write(";margin-right:4px;' align='left'>");
    output.Write(this.ArticlePage[this.ImageTextField].ToString());
    output.Write("</div>");
    output.Write("</div>");
    #endregion
    #region Button events
    /// <summary>
    /// Delete image file from the library and empty the image field.
    /// </summary>
    /// <param name="sender">Delete button.</param>
    /// <param name="e">No arguments.</param>
    protected void BtnClear_Click(object sender, EventArgs e)
    ////remove the image file from the Images library
    using (SPSite site = new SPSite(
    SPContext.Current.Web.Url,
    SpSecurityHelper.GetSystemToken(SPContext.Current.Site)))
    using (SPWeb currentWeb = site.OpenWeb())
    SPDocumentLibrary imageList = (SPDocumentLibrary)currentWeb.Lists[this.ImageLibrary];
    SPFolder rootFolder = imageList.RootFolder;
    try
    currentWeb.AllowUnsafeUpdates = true;
    rootFolder.Files.Delete(this.imgPicture.ImageUrl);
    rootFolder.Update();
    catch
    ////cannot delete specified file, this means file doesn't exist, the file must be deleted
    ////directly in the Images library by someone
    ////don't do anything here
    finally
    currentWeb.AllowUnsafeUpdates = false;
    if (this.pageImage != null)
    this.pageImage.ImageUrl = string.Empty;
    this.imgPicture.ImageUrl = string.Empty;
    this.lblFileName.Text = string.Empty;
    this.btnClear.Visible = false;
    this.btnSave.Visible = true;
    /// <summary>
    /// Upload image file to library and fullfilled the image field.
    /// </summary>
    /// <param name="sender">Upload button.</param>
    /// <param name="e">No argument.</param>
    protected void BtnSave_Click(object sender, EventArgs e)
    this.ArticlePage[this.ImageTextField] = this.txtImage.Text;
    this.ArticlePage.SystemUpdate(false);
    string fileName = this.fileUpload.FileName;
    ////validate file name
    if (fileName == string.Empty || !this.fileUpload.HasFile)
    this.lblFileName.Text = string.Empty;
    if (this.pageImage == null)
    this.Page.ClientScript.RegisterStartupScript(typeof(string), "NoImage", "<script>alert('No image found, please select an image.')</script>", false);
    else
    using (SPSite site = new SPSite(
    SPContext.Current.Web.Url,
    SpSecurityHelper.GetSystemToken(SPContext.Current.Site)))
    using (SPWeb currentWeb = site.OpenWeb())
    SPDocumentLibrary imageList = (SPDocumentLibrary)currentWeb.Lists[this.ImageLibrary]; ////Images
    SPFolder rootFolder = imageList.RootFolder;
    ////the image file name must be unique except for the file name extension
    string imageName = this.ArticlePage.UniqueId.ToString("N") + this.FieldName + Path.GetExtension(fileName);
    ////first delete the image file from the Images library.
    ////if a file with different file name extension is uploaded, the old file won't be overwritten,
    ////and will never be deleted from this page, so it must be deleted before adding a new one.
    if (this.pageImage != null && !string.IsNullOrEmpty(this.pageImage.ImageUrl))
    try
    currentWeb.AllowUnsafeUpdates = true;
    rootFolder.Files.Delete(this.pageImage.ImageUrl);
    rootFolder.Update();
    catch
    ////cannot delete specified file, this means file doesn't exist, the file must be deleted
    ////directly in the Images library by someone
    finally
    currentWeb.AllowUnsafeUpdates = false;
    try
    currentWeb.AllowUnsafeUpdates = true;
    SPFile imageFile = rootFolder.Files.Add(imageName, this.fileUpload.FileBytes, true);
    finally
    currentWeb.AllowUnsafeUpdates = false;
    // this.lblFileName.Text = currentWeb.Site.Url + imageList.RootFolder.ServerRelativeUrl + "/" + imageName;
    this.lblFileName.Text = currentWeb.Site.Url + imageList.RootFolder.ServerRelativeUrl + "/_w/" + imageName.Substring(0, imageName.LastIndexOf(".")) + "_" + imageName.Substring(imageName.IndexOf(".") + 1) + "." + imageName.Substring(imageName.IndexOf(".") + 1);
    // webimage = currentWeb.Site.Url + imageList.RootFolder.ServerRelativeUrl + "/_w/" + imageName.Substring(0,imageName.LastIndexOf("."))+"_"+imageName.Substring(imageName.IndexOf(".")+1) +"." + imageName.Substring(imageName.IndexOf(".")+1);
    this.imgPicture.ImageUrl = this.lblFileName.Text;
    this.btnClear.Visible = true;
    this.btnSave.Visible = false;
    #endregion
    This is how i used it in my page layout
     <Article:mycompnayRichImageField runat="server" ID="RichImageField1" InputFieldLabel="Keep image text short and precise" FieldName="PublishingPageImage" UpdateRollupImage="true"/>
    Aruna

    Hi,
    For this issue, I'm trying to involve someone familiar with this topic to further look at it.
    Thanks,
    Jason Guo
    TechNet Community Support

Maybe you are looking for

  • Moving photos w/tags from XPpc to Vista pc using the free starter edition

    I have a pc with XP (SP2) with Album 2.0 on which I have a few hundred photos organized with tags and some editing .... many hours of "tagging" invested by me. I just bought a new pc with Vista Home Premium. All I really want to do is be able to impo

  • My keyboard has changed on my MacBook?

    My keyboard has changed on my MacBook? My Zoom in is now on my command key instead of the control key... How do I restore it to the original setting?

  • Get Length of Child Elements

    I have an element called <Transaction>. This element has child elements within it. How can I get a length or count of how many child elements are within the <Transaction> element using PL/SQL? Thanks Jennifer

  • Strange error oracle.jbo.ReadOnlyAttrException: JBO-27008:

    Hello, friends! I use uix for my application (generated with JHeadstart). Now I have one problem, and this problem is very strange. One of VOs throws exception after commit changes. First time it was error (oracle.jbo.ReadOnlyAttrException) JBO-27008

  • COULDN'T CONNECT SQLDEVELOPER AND ORACLE 10G

    COULDN'T CONNECT SQLDEVELOPER AND ORACLE 10G anyone can help this? can see that error message here. http://forums.adobe.com/thread/590462?tstart=0