SharePoint 2010 WebPart персонализировать макет
У меня есть домашняя страница в Интранете. Он имеет более 15 веб-частей (новости, погода и т. Д.). Я хочу разрешить пользователям настраивать страницу, перемещая веб-части или удаляя их. В настоящее время я не позволяю им видеть ленту вверху, поэтому у них нет доступа к кнопке "Изменить страницу". Я вытащил его из ленты
<a unselectable="on" href="javascript:;" onclick="return false;" class="ms-cui-ctl-large" aria-describedby="Ribbon.WebPartPage.Edit.Edit.Menu.Actions.Edit_ToolTip" mscui:controltype="Button" role="button" style="height: auto;" id="Ribbon.WebPartPage.Edit.Edit-SelectedItem">
<span unselectable="on" class="ms-cui-ctl-largeIconContainer">
<span unselectable="on" class=" ms-cui-img-32by32 ms-cui-img-cont-float">
<img unselectable="on" alt="" src="/_layouts/1033/images/formatmap32x32.png" style="top: -160px; left: -96px;">
</span>
</span>
<span unselectable="on" class="ms-cui-ctl-largelabel" style="height: auto;">Edit<span unselectable="on">
</span>Page</span>
</a>
К сожалению, это не работает. Какие-нибудь мысли?
Я буду делать то же самое с кнопкой "Остановить редактирование".
2 ответа
Я наконец нашел ответ на этот вопрос. Это было очень просто после того, как был определен вызов JS. Я считаю, что это должно быть только для веб-страницы.
Чтобы перевести страницу в режим редактирования для персонализации с помощью вызова Javascript:
ChangeLayoutMode(true); // how simple is that??
Чтобы остановить редактирование страницы с помощью вызова Javascript:
MSOLayout_ToggleLayoutMode(); // same as given in the other post
Режим редактирования "Стоп", на мой взгляд, одинаков для всех страниц, независимо от того, является ли это персональной страницей, страницей всех веб-частей и т. Д.
Согласно этому посту: http://artykul8.com/2011/03/useful-sharepoint-shortcuts/ хитрость заключается в использовании MSOLayout_ToggleLayoutMode();
функция JavaScript
Согласно комментарию на той же странице, в SP2010, эта функция javascript доступна только тогда, когда у вас уже есть веб-часть на странице. Поведение, которое я наблюдал, отличается от этого, учитывая, что для меня эта функция работала, только когда страница уже находилась в режиме редактирования (и работала, даже если на страницу не была добавлена веб-часть).
Мне удалось найти файл javascript, в котором определена эта функция, то есть ie55up.js. Вы можете загрузить его на свою главную страницу, выполнив:
<SharePoint:ScriptLink language="javascript" name="ie55up.js" OnDemand="false" runat="server" />
Для получения информации о том, как создать веб-элемент управления, который использует эту функцию javascript, см. Здесь: http://www.codeproject.com/KB/sharepoint/SwitchWPMode.aspx
Надеюсь это поможет