Expand-Token
Expands tokens in fields for items.

Syntax

Expand-Token [-Item] <Item> [-Language <String[]>]
Expand-Token [-Path] <String> [-Language <String[]>]
Expand-Token -Id <String> [-Database <String>] [-Language <String[]>]

Detailed Description

The Expand-Token command expands the tokens in fields for items.
Some example of tokens include:
  • $name
  • $time
© 2010-2019 Adam Najmanowicz, Michael West. All rights reserved. Sitecore PowerShell Extensions

Parameters

-Language <String[]>

Language that will be processed. If not specified the current user language will be used. Globbing/wildcard supported.
Aliases
Text
Required?
false
Position?
named
Default Value
​
Accept Pipeline Input?
false
Accept Wildcard Characters?
false

-Item <Item>

The item to be processed.
Aliases
Text
Required?
true
Position?
1
Default Value
​
Accept Pipeline Input?
true (ByValue, ByPropertyName)
Accept Wildcard Characters?
false

-Path <String>

Path to the item to be processed - additionally specify Language parameter to fetch different item language than the current user language.
Aliases
Text
Required?
true
Position?
1
Default Value
​
Accept Pipeline Input?
false
Accept Wildcard Characters?
false

-Id <String>

Id of the the item to be processed - additionally specify Language parameter to fetch different item language than the current user language.
Aliases
Text
Required?
true
Position?
named
Default Value
​
Accept Pipeline Input?
false
Accept Wildcard Characters?
false

-Database <String>

Database containing the item to be processed - can work with Language parameter to narrow the publication scope.
Aliases
Text
Required?
false
Position?
named
Default Value
​
Accept Pipeline Input?
false
Accept Wildcard Characters?
false

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.
  • Sitecore.Data.Items.Item

Outputs

The output type is the type of the objects that the cmdlet emits.
  • Sitecore.Data.Items.Item

Notes

Help Author: Adam Najmanowicz, Michael West

Examples

EXAMPLE 1

The following expands tokens in fields on the item.
1
Get-Item -Path "master:\content\home" | Expand-Token
Copied!

EXAMPLE 2

The following expands tokens in fields on the item. If the standard value of the field contains a token we modify the field to the token so the expansion will work (Sitecore API does not expand if the field is the same as Standard Values and never modified).
1
$tokens = @('$name', '$id', '$parentId', '$parentname', '$date', '$time', '$now')
2
​
3
$item = Get-Item -Path "master:\content\home"
4
​
5
$standardValueFields = Get-ItemField -Item $item -ReturnType Field -Name "*" `
6
| Where-Object { $_.ContainsStandardValue }
7
8
$item.Editing.BeginEdit()
9
​
10
foreach ($field in $standardValueFields) {
11
$value = $field.Value
12
13
if ($tokens -contains $value) {
14
$item[$field.Name] = $value
15
}
16
}
17
​
18
$item.Editing.EndEdit()
19
​
20
Expand-Token -Item $item
Copied!

Related Topics