2015-04-04 32 views
3

我有一個字段名稱狀態的sitecore模板。國家領域有一個下拉鍊接字段,顯示「國家狀態」節點的國家狀態。Sitecore PowerShell控制檯不顯示狀態字段

我想寫一個查詢,顯示給定狀態的所有課程。

但是,當我運行下面的查詢時,它顯示「Sitecore.Data.Items.ItemState」。

gci -recurse | format-table state 

任何想法,爲什麼它不顯示狀態的GUID值呢?

+0

我們需要更多信息來幫助您。這是網站嗎?目前,我不知道你在做什麼。請舉例。 – FoxDeploy 2015-04-05 01:11:26

+0

好機會說'state'沒有一個好的'ToString()'方法。如果你只是'gci -recurse |。會發生什麼?選擇狀態? – Matt 2015-04-05 01:48:50

+0

如何更改字段名稱。我認爲Sitecore在全球使用「State」這個名稱。嘗試更新名稱,如「Country State」而不是「State」,然後再次嘗試代碼。 'gci -recurse |格式表「國家州」' – Jay 2015-04-06 19:33:30

回答

3

我知道這應該是很久以前的事了,但是爲了將來遇到它的人,我想解釋一下爲什麼以及如何。

State返回Sitecore.Data.Items.ItemState文本的原因是Sitecore項目在Item對象上包含名爲State的屬性。

Sitecore PowerShell擴展將額外的動態屬性附加到暴露您的項目字段的對象上。然而,那些不能與現在的項目屬性相沖突。爲了避免碰撞,SPE會檢測到它,並在下劃線前加上動態屬性。在你的情況下,一個襯墊,會給你預期的結果將是:

gci -recurse | format-table _state 

,或者如果你想顯示屬性爲State仍然而非_state你可以使用下面的語法:

gci master:\content | format-table @{Name="State"; Expression={$_._state } } 

希望這仍然有助於某人。