Skip to content

$SitecoreContextItem variable lacks ItemPath property #1296

@lundebro

Description

@lundebro

Hi,
We're in the process of cleaning up some old scripts and based on the discussion in #1231 (comment) we're replacing every usage of Get-Item . with $SitecoreContextItem. Upon doing so we discovered that the ItemPath property doesn't exist.

It can be remedied by replacing every usage of ItemPath with Paths.Path but it's a bit confusing why this behavior occurs. ItemPath is also mentioned in the docs, for instance on https://doc.sitecorepowershell.com/training so it makes sense that you would try to use it.

Looking at the code here on Github it looks like ItemPath is a custom property defined in https://github.com/SitecorePowerShell/Console/blob/master/src/Spe/Core/Extensions/ItemShellExtensions.cs so maybe this is by design, and if so you may of course close this issue. But I still think it's confusing to the user that items fetched by Get-Item . and $SitecoreContextItem don't contain the same properties, even though they look to be of the same type.

Expected Behavior

$SitecoreContextItem.ItemPath should return the path to the context item, the same way (Get-Item .).ItemPath does.

Actual Behavior

$SitecoreContextItem.ItemPath returns null

Steps to Reproduce the Problem

Just run the commands above, or compare the output between the two commands below:

(Get-Item .) | Format-List
$SitecoreContextItem | Format-List
  • Tested issue with clean install of Sitecore and the latest available version of SPE.

  • Asked questions on the Sitecore Slack Chat channel.

  • Reviewed questions and answers on the Sitecore Stack Exchange.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions