ядро сайта: editframe

Мне нужно использовать 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 sitecore, и в итоге я получаю эту ссылку http://blog.jan.hebnes.dk/2011/12/using-sitecore-editframe-with.html

Вместо того, чтобы использовать код позади, как показано Мартином Босом, я изменяю свой код с предыдущего на следующий.

<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>

person WenHao    schedule 18.02.2013    source источник


Ответы (2)


Вы пытались установить DatasSource для Editframe?

e.g. EditField.DataSource = item.Paths.FullPath;

person Martijn Bos    schedule 18.02.2013
comment
И кадр редактирования должен быть в ItemTemplate. - person nickwesselman; 18.02.2013
comment
@ techphoria414 Вы имеете в виду, что рамка редактирования работает только в шаблоне данных? И не работает, даже если я использую подмакет для отображения других полей из другого шаблона с помощью привязки данных? - person WenHao; 19.02.2013
comment
Нет, я имею в виду, что EditFrame может редактировать только один элемент за раз, насколько мне известно. Вы правильно поняли. - person nickwesselman; 19.02.2013

Вы почти там. Не следует использовать «Полный путь». Попробуйте это вместо

 DataSource="<%# ((Sitecore.Data.Items.Item)Container.DataItem).Paths.FullPath %>"
person Wen    schedule 08.05.2015