мне нужно использовать editframe, чтобы передний пользователю изменять некоторые поля флажокSitecore: editframe
создать новую кнопку редактирования кадров и установить только те поля, которые я хочу фронт пользователю редактировать. Например: Core DB ->/sitecore/content/Applications/WebEdit/Edit Frame Buttons/(папка с кнопками редактирования)/(кнопка редактора полей). В полях, которые нужно отредактировать передним пользователем, я установил его в Headline.
В моей sublayout, у меня есть этот код
<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>
И тогда рамка редактирования должна быть внутри ItemTemplate. – techphoria414
@ techphoria414 Вы имеете в виду, что рамка редактирования работает только в шаблоне данных? И не работает, даже если я использую sublayout для отображения других полей из другого шаблона с помощью привязки данных? – WenHao
Нет, я имею в виду, что EditFrame может редактировать только один элемент за раз, AFAIK. Вы поняли это правильно. – techphoria414