在Sitecore内容树中,我有一个约3000篇文章的列表。每篇文章都有一个作者字段。 author字段的类型为droplink。我正在尝试编写一个PowerShell脚本,让我了解每位作者撰写的文章。
#This is where all the Authors lives
cd 'master:/sitecore/content/mysite/Global/Authors Folder'
#Get all the articles that each author has written
function ProcessItem($item)
{
$articles = Get-Item master: -Query "/sitecore/content/mySite/Home/Articles/2017//*[@@templatename='Article' and @Author='$item.Id']"
$articles.Count
}
#Get a list of authors
$itemsToProcess = Get-ChildItem -Recurse . | Where-Object { $_.TemplateName -match "Authors" }
if($itemsToProcess -ne $null)
{
$itemsToProcess | foreach {ProcessItem($_)}
}
看来,作者ID获取文章的调用没有返回任何内容。因此$articles.Count
始终返回0.我尝试@Author.Value='$item.Id'
,但仍然没有得到任何结果。任何人都可以看到我在这里做错的事吗?
答案 0 :(得分:0)
除非您针对单个属性进行测试,否则需要将条件包装在括号中,如下所示:
$articles = Get-Item master: `
-Query "/sitecore/content/mySite/Home/Articles/2017//*[@@templatename='Article' and @Author='$($item.Id)']"