2

我需要使用editframe让前台用户修改一些复选框字段

  1. 我创建了一个新的编辑框按钮并仅设置我希望前台用户编辑的那些字段。例如:Core DB -> /sitecore/content/Applications/WebEdit/Edit Frame Buttons/(编辑按钮文件夹)/(字段编辑器按钮)。在前台用户要编辑的字段中,我已将其设置为标题。

  2. 在我的子布局中,我有这个代码

    <sc:EditFrame ID="EditField" runat="server" Buttons="/sitecore/content/Applications/WebEdit/Edit Frame Buttons/EditFields">
    <div id="whatyoumissed">
        <asp:ListView ID="ListView1" runat="server">
            <LayoutTemplate>
                <ul style="list-style-type: none;" >
                    <asp:PlaceHolder runat="server" ID="itemplaceholder"></asp:PlaceHolder>
                </ul>
            </LayoutTemplate>
    
            <ItemTemplate>
                <li style="float: left;margin-left:20px;">
                    <sc:FieldRenderer ID="FieldRenderer2" runat="server" FieldName="Headline" 
                    Item="<%# Container.DataItem as Sitecore.Data.Items.Item %>" /> <br />
                    <sc:FieldRenderer ID="FR3" runat="server" FieldName="cb" Item="<%# Container.DataItem as Sitecore.Data.Items.Item %>" />
                </li>
            </ItemTemplate>
        </asp:ListView>
    
    </div>
    </sc:EditFrame>
    
  3. 背后的代码

        string queryPath = "/bla/bla/bla/bla/bla/bla/bla/bla/bla";
        var item = sc.Context.Database.GetItem(queryPath);
        var children = item.Children;
        ListView1.DataSource = children;
        ListView1.DataBind();
    

当我在页面编辑器中单击编辑框时,提示框没有字段(标题)供我修改。有什么建议吗?

答:我有 google abit of sitecore edit frame datasource 并最终得到这个链接 http://blog.jan.hebnes.dk/2011/12/using-sitecore-editframe-with.html

我没有使用 Martijn Bos 所示的代码,而是将我的代码从 prev 修改为以下代码。

<asp:ListView ID="ListView1" runat="server">
            <LayoutTemplate>
                <ul style="list-style-type: none;" >
                    <asp:PlaceHolder runat="server" ID="itemplaceholder"></asp:PlaceHolder>
                </ul>
            </LayoutTemplate>

            <ItemTemplate>
                <sc:EditFrame ID="EditField" runat="server" Buttons="/sitecore/content/Applications/WebEdit/Edit Frame Buttons/EditFields"
                DataSource="<%# ((Sitecore.Data.Items.Item)Container.DataItem).Paths.FullPath %>" >
                    <li style="float: left;margin-left:20px;">
                        <sc:FieldRenderer ID="FieldRenderer2" runat="server" FieldName="Headline" 
                        Item="<%# Container.DataItem as Sitecore.Data.Items.Item %>" /> <br />
                        <sc:FieldRenderer ID="FR3" runat="server" FieldName="cb" Item="<%# Container.DataItem as Sitecore.Data.Items.Item %>" />
                    </li>
                </sc:EditFrame>
            </ItemTemplate>
        </asp:ListView>
4

2 回答 2

2

您是否尝试过设置 Editframe 的 DatasSource?

例如EditField.DataSource = item.Paths.FullPath;

于 2013-02-18T09:43:24.867 回答
0

你快到了。不应使用“FullPath”。试试这个

 DataSource="<%# ((Sitecore.Data.Items.Item)Container.DataItem).Paths.FullPath %>"
于 2015-05-08T06:11:59.473 回答