Disabilita i campi predefiniti (colonna) disponibili in una libreria di SharePoint
-
13-11-2019 - |
Domanda
Voglio disabilitare l'opzione che consente agli utenti di selezionare i diversi campi di nome (colonne) disponibili durante una creazione di libreria di SharePoint. Voglio che gli utenti creino una nuova colonna invece di scegliere tra le colonne di nomi disponibili predefinite. È possibile iniettare uno script che disabilita queste funzioni? O qualche altro lavoro intorno?
La libreria di documenti viene creata da un modello di libreria personalizzata. Questi campi di nome dovrebbero essere disabilitati solo per le librerie create da questo particolare modello.
Questa è un'app di SharePoint 2010.
In generale come disabilitare un'opzione colonna predefinita?
Qualsiasi aiuto apprezzato, grazie!
Soluzione
Nel caso in cui qualcuno stia cercando una risposta, sto pubblicando questo
L'URL è l'URL assoluto di HttpContext
if (url.Contains(@"/_layouts/ViewEdit.aspx"))
{
sb.AppendLine("Name Field script injection");
using (SPSite site = new SPSite(url))
{
sb.AppendLine("Site URL : " + site.Url);
using (SPWeb web = site.OpenWeb("/"))
{
sb.AppendLine("Web URL : " + web.Url);
string[] urls = url.Split('/');
sb.AppendLine("List Name:" + urls[urls.Length - 3]);
SPDocumentLibrary library = web.Lists[urls[urls.Length - 3]] as SPDocumentLibrary;
SPContentType contentType = library.ContentTypes["Document_Content_type"];
if (contentType != null)
{
sb.AppendLine("Content Type Name:" + contentType.Name);
InjectNameColumnScript();
sb.AppendLine("Name Column Script has been injected");
}
}
}
}
Lo script fa qualcosa del genere all'interno della funzione documet.getReady
$(document).ready(function() {
$("#check box_ID").closest("td").parent().attr("style","display:none;");
});