Nome da biblioteca na Web Part de Consulta de Conteúdo
-
10-12-2019 - |
Pergunta
Estou buscando itens de todas as bibliotecas de formulários em um conjunto de sites e apresentar nome, Documento de Identificação (serviço está habilitado em recursos do conjunto de sites) e o nome da pessoa que enviou o formulário:
Form Name | ID | Submitter Name
Agora, quero acrescentar o valor de IDENTIFICAÇÃO com o nome da Biblioteca, como Student Form - <document id>
..onde o Aluno "Forma" é o formulário o nome da biblioteca.
Em ItemStyle.xsl, existe uma forma de acesso biblioteca-nível de metadados ?Ou se ele está apenas se limitam a nível de item de dados (como parece), que são os outros métodos para conseguir isso?
Solução
Você precisa editar as tripas dos CQWP e usar o ViewFieldsOverride configuração para introduzir o ListProperty no modo de exibição de campos.Se você precisar o nome do Site, também incluem ProjectProperty.Em seguida, você pode usar ListProperty.Título e ProjectProperty.Título em XSL.
Há um pequeno tutorial aqui: http://sharepoint-tweaking.blogspot.co.nz/2008/04/displaying-listname-and-sitename-when.html e a Microsoft tome abaixo, com detalhadas informações de GUID seguinte citação:
Usando o ViewFieldsOverride propriedade é mais desafiador porque exige que você inclua todos os campos padrão mais os campos que você deseja adicionar.No entanto, se você deseja adicionar o título de um site ou uma lista para a saída, é a única maneira de fazer isso.Se você deseja adicionar os seus próprios campos através de ViewFieldsOverride, você pode começar adicionando o seguinte e simplesmente acrescentar os campos.A seguir representa todos os campos que estão incluídos originalmente por CQWP.
fonte: http://msdn.microsoft.com/en-us/library/ff380147(v=office.12).aspx
Embora ambos os links referem-se a 2007, ele funciona muito bem em 2010 no meu ambiente.
Outras dicas
@FileRef você irá obter o caminho do formulário e você deverá processar - talvez com substring-before() e substring-after() para obter apenas o nome da biblioteca.