0

レイアウトに次のプレースホルダーがあります

  • ヘッダープレースホルダー
  • トップバックプレースホルダー
  • センタープレースホルダー
  • ボトムバックプレースホルダー
  • フッタープレースホルダー

上記のレイアウトを使用した次の項目

  • ホーム アイテム - ホームページの表示に使用
  • 記事アイテム - 記事ページの表示に使用

ここでは、上記のレイアウトで使用されている 2 つの戻るプレースホルダーを使用して、ページの上部と下部に戻るボタンを表示します (ここでは、2 つの異なるプレースホルダーに同じサブレイアウトを構成して、上部と下部に戻るボタンを表示します)。戻るボタンは記事ページにのみ表示され、ホームページには表示されません。

そのため、ホーム アイテムではなく、アーティクル アイテム (プレゼンテーション -> 詳細オプションを使用) のみに応じて構成しています。ホームページ、ただし、ホーム アイテムの [プレゼンテーション] -> [詳細] で構成していません。

表示するように構成されていないにもかかわらず、ホームページにプレースホルダーが表示されている設定が不足していることを教えてください。

4

1 に答える 1

3

正しく設定しましたが、プレースホルダーとサブレイアウトおよびレンダリングについて少し混乱しているようです。

プレースホルダーは、サブレイアウトやレンダリングを含めるために使用できる単なる領域です。プレースホルダーには、0 個または多数のサブレイアウトとレンダリングを含めることができます。

あなたの例では:- プレースホルダーは、ホーム アイテムのレイアウトにまだ存在します。そのプレースホルダーにサブレイアウトまたはレンダリングを割り当てないと (ホーム アイテムで行ったように)、ページ上のその場所は何も埋められません。

編集モード (ページ エディター モードだと思います) では、Sitecore は必要に応じてそこに何かを配置できるようにするため、プレースホルダーの領域が表示されます。(つまり、サブレイアウトまたはレンダリングで埋めるためのプレースホルダーがあることを示していますが、現時点では何もありません。)

ホーム アイテムのためだけにプレースホルダーをレイアウトから削除したい場合は、レイアウトにコード ビハインドを配置して、次の操作を行うことができます。

プレースホルダーに ID を付けます (topBackPlaceholder など)。

if (Sitecore.Context.Item.Paths.FullPath == Sitecore.Context.Site.RootPath)
{
    topBackPlaceholder.Visible = false;
}
于 2012-10-04T00:06:03.437 に答える