Я полностью новый для sitecore powershell. Я просмотрел некоторые статьи, но ничего не работало для меня.Sitecore powershell поиск по всем предметам, которые содержат ключевое слово
Что мне нужно: в моем Sitecore я хочу найти конкретное ключевое слово, и мне нужны все элементы, перечисленные в выводе. Ключевое слово может содержаться в тексте Single-Line, Multiline Text, General Link, RichText или Image. Я знаю, что это возможно, используя sitecore powershell. Может ли любой гений (конечно, для меня это) решить мою проблему?
Что-то я пытался. Если это не имеет никакого смысла, пожалуйста, игнорируйте :)
cd 'master:/sitecore/content'
function FilterItemsToProcess($item)
{
Get-Item master:\content
}
$list = [System.Collections.ArrayList]@()
$itemsToProcess = Get-ChildItem -Recurse . | foreach {FilterItemsToProcess($_)}
if($itemsToProcess -ne $null)
{
$itemsToProcess | ForEach-Object {
$match = 0;
foreach($field in $_.Fields) {
# Only look within Single-line and Rich Text fields
# In this example, we look for english content within Chinese versions
if($field.Type -eq "Single-Line Text" -or $field.Type -eq "Rich Text") {
if($field -match "mykeyword") {
Write-Host "Found: '$field' within a" $field.Type "field on Item:" $_.ID
$match = 1;
}
}
}
if($match -eq 1){
[void]$list.Add($_)
}
}
}
Спасибо @ Richard за это. Но есть ли другое, где я могу получить этот список без изменений кода. Как я должен искать на сервере разработки контента. – PaRsH
Существует поле под названием '_content' - это содержит все поля из элемента, объединенного вместе. Таким образом, вы можете обыскать этот. У вас просто нет фильтра по типу поля. Я обновлю свой ответ, чтобы включить это сообщение –
Обновлен ответ, чтобы включить опцию, используя '_content' –