私はEPiServerに関する初心者です。私たちはEPiServer Version 9.12を使用します。 EPiServer.Core.ContentAreaが廃止されました、過去のコンテンツリストを持っていた、以下を参照してください。http://world.episerver.com/documentation/Class-library/?documentId=cms/7.5/284B326AEPiServer 9:EPiServer ContentAreaコンテンツの代替手段はありますか?
image http://jweschenfelder.de/download/Untitled.png
内容リストは、あなたがそれなぜならブロックの名を読み取ることができ、過去の利点がありましたContentAreaの全内容を読んでください。新しいブロックを作成する場合は、CMS内で設定することができるので、名前を取得することは素晴らしいことです。現在提案されているアイテムコレクションを代わりに使用すると、リンクアイテムコレクションを含むブロックの名前を読み取ることができません。ブロック内でリンクアイテムコレクションのみを読み取ることができます。
IContentLoader contentLoader = ServiceLocator.Current.GetInstance< IContentLoader >(); OnSiteLinkBlock itemBlock = contentLoader.Get(item.ContentLink, new LoaderOptions() { LanguageLoaderOption.MasterLanguage() });
私はOnSiteLinkBlockを編集することができていますが、追加のプロパティがnullのままとEPiServerのContentLoader(IContentLoaderがEPiServerのインタフェースである)によって充填されていない:
私は例を見てきました。クラス階層について
さらに詳しい情報:
- [AvailableContentTypes(Availability = Availability.None)]
(EPiServer.Core中)
public class BlockData : ContentData, IReadOnly< BlockData >, IReadOnly
- public abstract class BlockBase : BlockData
(BlockBaseが自分のクラスである)
- public class OnSiteLinkBlock : BlockBase
(OnSiteLinkBlockが自分のクラスである)
は誰かがいここで解決策を知っていますか? ContentAreaのプロパティをもっと読むには?またはContentAreaの代替手段が存在しますか?どうもありがとう!
新しいLoaderOptions 'なしでみました(){LanguageLoaderOption.MasterLanguage()} '?おそらく、マスター言語にはすべてのプロパティの値がありません。しかし、その名前に価値があるはずです。 OnSiteLinkBlockとしてコンテンツを読み込むのではなく、IContentとして読み込むことができます。そこにはnameプロパティがあります。または、読み込んだ後にOnSiteLinkBlockをIContentにキャストするだけです。 –