Ocultar alguns campos em EditForm.asx da Biblioteca de Imagens
-
10-12-2019 - |
Pergunta
Eu tenho uma biblioteca de imagens e adicionei alguns campos a ela.Quando clico em adicionar novo item da biblioteca de imagens, o EditForm.aspx aparece após o upload da imagem.Este formulário contém muitos campos dos quais desejo ocultar Título, Data da foto tirada, Descrição e Palavra-chave.Resumindo, o EditForm deve conter apenas Nome, Visualização e as colunas que adicionei.É possível ocultar as outras colunas?
Solução
Simplese Way é provavelmente para listar configurações -> Configurações avançadas e ativar o gerenciamento de tipos de conteúdo.Você será capaz de selecionar o tipo de conteúdo (imagem) nas configurações da lista.A partir daqui, você verá as colunas incluídas nesse tipo de conteúdo.Clique em uma coluna e você pode torná-lo oculto para que agora não apareça em seus formulários.
Outras dicas
É sim.Você pode escrever algum código personalizado em um receptor de recursos ou executar um script do PowerShell:
function ShowHideFieldInForms([string]$fieldId,
[Microsoft.SharePoint.SPContentType]$ct,
[Microsoft.SharePoint.SPList]$list,
[System.Boolean]$showInEdit, [System.Boolean]$showInDisplay){
$fieldGuid = GetGuid -id $fieldId
$field = $list.Fields[$fieldGuid]
$field.ShowInEditForm = $showInEdit
$ctFieldLink = $ct.FieldLinks | Where { $_.Id -eq $field.Id }
if ($ctFieldLink -ne $null){
$ctFieldLink.ShowInDisplayForm = $showInDisplay
$ct.Update()
}
Write-Host "The Field :" $field.Title " ShowInEditForm property is "$showInEdit "on the list :" $list.Title
}
Para usá-lo, crie uma sequência de campos:
$fieldsForEditFormHiding = @("436a0ca5-ff06-4428-a2fe-b872ee88c75f", # some field you want to hide.
"5eb4a88e-bfa4-4746-8999-bfdd544a3ef4") # another field you want to hide
foreach ($fieldId in $fieldsForEditFormHiding)
{
$ct = $list.ContentTypes["YOUR CONTENT TYPE NAME"]
ShowHideFieldInForms -list $list -ct $ct -fieldId $fieldId -showInEdit $false -showInDisplay $true
}