Настройка веб-части библиотеки документов - PullRequest
1 голос
/ 20 апреля 2010

Я занимаюсь разработкой веб-сайта в Sharepoint 2007. Я столкнулся с несколько хитрой проблемой. У меня есть веб-часть библиотеки документов на странице веб-части. Я использую сводную панель инструментов. Я не хочу, чтобы пользователи добавляли новые документы на первом экране, где он показывает папки. Я хочу, чтобы они открывали папки и добавляли туда документы. Я не могу сделать вид панели инструментов Нет, потому что он удалит ссылку со всех последующих страниц. Кто-нибудь реализовал что-то вроде этого. Пожалуйста, помогите.

1 Ответ

1 голос
/ 20 апреля 2010

Приемник событий для предотвращения добавления элементов через объектную модель / веб-службы или пользовательский интерфейс.

Одним из решений будет использование приемника событий и, если документ добавляется в корневую папку, просто отмените добавление документа, но это приведет к переходу пользователя на страницу ошибки. Это решение не удобно для пользователя.

Просто скрыть возможность добавления новых предметов

Другой способ - использовать JavaScript, чтобы скрыть новый документ кнопки и загрузить кнопки документа. Это просто, когда вы интегрируете SharePoint с jQuery .

Скрыть новую кнопку

var newMenu = $('a[id$=NewMenu]').parents('.ms-toolbar') //Hides New button
if (newMenu[0] && newMenu[0].nextElementSibling.className == 'ms-separator')
  newMenu[0].nextElementSibling.style["display"] = "block" //Hides seperator between new button and next button.

Но вам, вероятно, не хотелось бы полностью скрывать новую кнопку, а оставить параметр создания новой папки.

$('ie\\:menuitem[id*=New]').not('[id$=NewFolder]').remove()

Скрыть меню загрузки

var uploadMenu= $('a[id$=UploadMenu]').parents('.ms-toolbar') //Hides New button
if (newMenu[0] && newMenu[0].nextElementSibling.className == 'ms-separator')
  uploadMenu[0].nextElementSibling.style["display"] = "block" //Hides seperator between new button and next button.

Ааа, забыл (а) самое важное: проверьте, находитесь ли вы в RootDirectory.

var rootFolder = $.url.decode(getParameterByName("RootFolder"))
if (rootFolder && ctx && rootFolder.replace($.url.decode(ctx.listUrlDir+"/"),"").length == 0 ) {
  ..Do code above..
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...