Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Galina 44 posts 258 karma points
    Oct 22, 2014 @ 08:32
    Galina
    0

    Is field recursive?

    Hello.

    I have an api controller and need to know is field like this

    <umbraco:Item field="innerfielddetail" recursive="true" runat="server" />
    

    is recursive or no. 

    Now I'm trying to parse template using regex.

    Is it possible to know it without regex? Is there any methods in Umbraco?

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Oct 22, 2014 @ 08:55
    Jeavon Leopold
    0

    In an API controller you should be using UmbracoHelper and the GetPropertyValue(propertyAlias, true) the second parameter "true" makes it recursive.

    Perhaps you could post some of your code?

  • Galina 44 posts 258 karma points
    Oct 22, 2014 @ 08:58
    Galina
    0

    Hello, Jeavon.

    I don't know is field recirsive or not. I need to know it. How can I define? My regex isn't good, it doesn't work in all cases

    template = (new Regex("<umbraco:Item field=\"(?<ID>\\S+)\".*?(recursive=\"(?<recursive>\\S+)\")??.*?/>", RegexOptions.IgnoreCase|RegexOptions.Singleline))
                    .Replace(template,m =>PageFlowManager.ReplaceItemFieldWithPropertyValue(m,publishedContent));

     

    template - is thу whole page template. 

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Oct 22, 2014 @ 09:01
    Jeavon Leopold
    0

    Can you explain why you are parsing the template at all?

  • Galina 44 posts 258 karma points
    Oct 22, 2014 @ 09:17
    Galina
    0

    We use Umbraco as external service for site. And I need to return code from like this

    <%@ Master Language="C#" MasterPageFile="~/masterpages/MasterPage.master" AutoEventWireup="true" %> <asp:content ContentPlaceHolderId="head" runat="server"> </asp:content> <asp:content ContentPlaceHolderId="PageHeader" runat="server"> </asp:content> <asp:content ContentPlaceHolderId="phCenter" runat="server"> <p>InnerFieldContent</p> </asp:content> <asp:content ContentPlaceHolderId="PageLeft" runat="server">  </asp:content> <asp:content ContentPlaceHolderId="PageFooter" runat="server"> </asp:content> <asp:content ContentPlaceHolderId="phRight" runat="server"> </asp:content>
    </string>

    but the whole template is

    <%@ Master Language="C#" MasterPageFile="~/masterpages/MasterPage.master" AutoEventWireup="true" %>
    <asp:content ContentPlaceHolderId="head" runat="server">
        <umbraco:Item field="HeadScriptTitle" recursive="true"  runat="server" />
    </asp:content>
    <asp:content ContentPlaceHolderId="PageHeader" runat="server">    
        <umbraco:Item field="HeadOfPage"  recursive="true" runat="server" />
    </asp:content>
    <asp:content ContentPlaceHolderId="phCenter" runat="server">  
        <umbraco:Item field="PageCenterField" runat="server" />
    <umbraco:Item field="innerfielddetail" recursive="true" runat="server" />     
    </asp:content>    
    <asp:content ContentPlaceHolderId="PageLeft" runat="server">  
        <umbraco:Item field="PageLeft" recursive="true"  runat="server" />
        <umbraco:Macro menuIdArray="menuIDs" Alias="MenuRender"  runat="server"></umbraco:Macro>    
    </asp:content>
    <asp:content ContentPlaceHolderId="PageFooter" runat="server">    
        <umbraco:Item field="PageFooter" recursive="true"  runat="server" />
    </asp:content>
    <asp:content ContentPlaceHolderId="phRight" runat="server">   
        <umbraco:Item field="PageRight" recursive="true"  runat="server" />
    </asp:content>

    I need to replace umbraco:Item with macro (I use the same path in the site) and html-tags. Without umbraco:Item. But I can't write correct regex for "recursive"

     

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies