尝试创建一个通用函数,它可以接受带有 ID 的管道字符串,并将其转换为带有名称的管道字符串。下面的代码仅返回数组中的第一项。我缺少什么?
function Get-ValuesfromID($item){
[String[]]$allItems = $item -split "\|"
foreach($item in $allItems)
{
$nameofid = (Get-Item master:\ -ID $item).Name
$namedlist = $nameofid -join "\|"
return $namedlist
}
}
@{Label="Tag List"; Expression={Get-ValuesfromID($_.Tags)}}
最佳答案
您的 return 语句位于 foreach
循环内。把它移到外面应该没问题。 (这就是为什么缩进很重要)
function Get-ValuesfromID($item) {
[String[]]$allItems = $item -split "\|"
foreach($item in $allItems) {
$nameofid = (Get-Item master:\ -ID $item).Name
$namedlist = $nameofid -join "\|"
}
return $namedlist # outside foreach loop
}
关于powershell - Sitecore Powershell 函数通过管道传输 ID 字符串到通过管道传输名称字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49566742/