私はsitecore powershellへ完全に新規です。私はいくつかの記事を見てきましたが、何も私のために働いた。Sitecore powershellはキーワードを含むすべてのアイテムを検索します
私の必要なものは:私のSitecoreでは、特定のキーワードを検索したいのですが、出力にリストされているすべてのアイテムが必要です。キーワードは、単一行テキスト、複数行テキスト、一般リンク、リッチテキストまたはイメージに含めることができます。これは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($_)
}
}
}
ありがとう@リチャード。しかし、私はコード変更なしでそのリストを得ることができる他の方法があります。私はコンテンツオーサリングサーバで検索しなければならないので。 – PaRsH
'_content'というフィールドがあります。これは、連結されたアイテムのすべてのフィールドを含んでいます。だからあなたはそれを検索することができます。フィールドタイプのフィルターはありません。私はそれを含めるように私の答えを更新します –
'_content'を使ってオプションを含める答えを更新しました –