我需要使用editframe让前端用户修改一些复选框字段
我创建了一个新的编辑框架按钮,并仅设置我希望前端用户编辑的那些字段。例如:Core DB ->/sitecore/content/Applications/WebEdit/Edit Frame Buttons/(编辑按钮文件夹)/(字段编辑器按钮)。在要由前台用户编辑的字段中,我将其设置为标题。
在我的子布局中,我有这段代码
<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>
隐藏代码
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 的 sitecore 编辑框架数据源并最终得到此链接 http://blog.jan.hebnes.dk/2011/12/using-sitecore-editframe-with.html
我没有使用 Martijn Bos 所示的后台代码,而是将代码从上一个修改为以下。
<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>
最佳答案
您是否尝试过设置Editframe的DatasSource?
例如EditField.DataSource = item.Paths.FullPath;
关于站点核心:editframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933167/