пятница, 12 ноября 2010 г.

Убрать кнопку “Рабочие процессы сайта”

По умолчанию на странице просмотра всего содержимого сайта (/viewlsts.aspx) отображается кнопка “Рабочие процессы сайта”.

image

При построении некоторых систем на базе SharePoint 2010 необходимость в этой кнопке отсутствует. Так же как и отсутствует возможность скрыть эту кнопку настроечными средствами.

В качестве обходного решения предлагаю добавление в разметке главной страницы скрипта скрытия блока.

После блока

<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server">
</asp:ContentPlaceHolder>

необходимо вставить

<script type="text/javascript">
    document.getElementById('ctl00_PlaceHolderMain_ToolBar_RptControls_diidIOSiteWorkflows').parentNode.style.display='none';
</script>

В результате получаем более дружелюбный интерфейс:

image

понедельник, 8 ноября 2010 г.

Добавление элементов на даты (или время) в календаре

Обнаружена следующая аномалия.

При использовании списка, созданного по шаблону “Календарь” пользователь имеет возможность добавлять события на определенные даты календаря. Для этого при наведении на дату (или время, в представлении недели или дня) появляется ссылка “Добавить”.

image

При использовании же списка, созданного по любому другому шаблону, такая ссылка не появляется.

Если кто-то знает о глубинных причинах такого поведения – прошу написать в комментариях.

А пока предлагаю только обходной путь, если для вас важно предоставить возможность добавлять события прямо на даты. Создавайте список изначально по шаблону “Календарь”, и потом добавляйте по необходимости типы содержимого, соответствующие требуемой функциональности (элемент, задача и т.п.), устанавливая для данных типов содержимого порядок кнопок создания.

среда, 3 ноября 2010 г.

Настроенное оформление и диалоги SharePoint

Одно из нововведений последней версии SharePoint – открытие пользовательских форм в виде диалога, без полного перехода со страницы. Пользователю, конечно, удобно, он видит и текущий список и форму.

Возникает вопрос, если графический дизайн обычных страниц мы меняем через главные страницы, то как изменять дизайн диалогов?

У некоторых специалистов уже возник другой вопрос – поменяли дизайн страницы, но как исключить эти модификации из диалогов?

Для того чтобы вы сами смогли ответить на этот вопрос, давайте разберемся, откуда берется дизайн диалогов. На самом деле, он берется из той же главной страницы, примененной к узлу. Почему же тогда мы не видим в диалогах таких элементов, как меню, ленту, запрос поиска и т.п.?

image

image

Дело в том, что блоки div, не требующиеся на диалогах, отмечены классом s4-notdlg, а в стилях dlgframe.css уже применено скрытие. Например, лента меню имеет следующий вид div:

<div id="s4-titlerow" class="s4-pr s4-notdlg s4-titlerowhidetitle">

Таким же образом, если Вы добавляете на главную страницу элементы , не требующиеся в диалогах, заключайте их в блоки div с классом s4-notdlg.