Sitecore Powershell功能管道ID字符串到管道名称字符串

时间:2018-03-30 00:03:10

标签: powershell sitecore

尝试创建一个通用函数,该函数可以接受带有ID的管道字符串,并将其转换为带有名称的管道字符串。下面的代码只返回数组中的第一项。我错过了什么?

{{1}}

2 个答案:

答案 0 :(得分:1)

您的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
}

答案 1 :(得分:1)

不要在return循环中使用foreach - 它将退出封闭的函数/脚本。

退出循环需要

break;但是,似乎您的意图是在循环迭代中收集所有值,因此最简单的方法是将整个foreach语句括在$(...)中并应用{{1结果数组:

-join