2017-11-02 10 views
1

hybrisでページを作成するときにPageTemplateを作成し、コンテンツスロットを作成します。 各コンテンツスロットには、関連するコンポーネントがあります。コンテンツスロットはPageTemplateにマッピングされます。最後にPageTemplateをContentPageにマッピングします。 hybrisでページがどのように作成されるかなぜHybris WCMS PageにContentSlotがある場合、ContentSlotNameがあるのですか?

作業を行うページテンプレート用のコンテンツスロットが既にあるので、なぜContentSlotNameがあり、なぜそれを使用する必要がありますか?

通常のコンテンツページと電子メールページを作成するのは避けることができますか?

答えて

2

ContentSlotNameは、ページの特定のセクションに追加できるコンポーネントのタイプをcmscockpitに示すために使用します。例えば:

INSERT_UPDATE ContentSlotName; name[unique = true]; template(uid, $contentCV)[unique = true][default = 'loginPageTemplate']; validComponentTypes(code) 
; Login-LeftSection   ; ; CMSImageComponent 

"ログイン-LeftSectionが" structure_loginPageTemplate.vmに定義されている:

td colspan="6" class="structureViewSection"> 
    <cockpit code="Login-LeftSection"/> 
</td> 

このセクションはContentSlot(すなわちLoginLeftContentSlot)にリンクしました関連付けられている場合ContentSlotForTemplate位置 attribbuteを介して作成:「ログイン-LeftSectionは、」ログインページのcmscockpitで見ることができ、その結果

INSERT_UPDATE ContentSlotForTemplate; $contentCV[unique = true]; uid[unique = true]; position[unique = true]; pageTemplate(uid, $contentCV)[unique = true][default = 'loginPageTemplate']; contentSlot(uid, $contentCV)[unique = true]; allowOverwrite 
; ; LoginLeftContent-loginPageTemplate   ; Login-LeftSection   ; ; LoginLeftContentSlot   ; true 

、あなたはにコンポーネントを追加しようとした場合そのセクションに関連付けられたスロットは、CMSImageComponentの成分のみタイプは、(上記で定義しContentSlotNameインスタンスのため)添加のために利用可能であろう。

enter image description here

enter image description here

だからContentSlotNameの目的は、特定のコンテンツスロットのために添加することができる成分の種類を制限することです。

あなたの2番目の質問に対する答えははいですが、これは避けることができますが、これは任意のタイプのコンポーネントが特定のコンテンツスロットに追加できることを意味します。

0

実際、ContentSlotNameは、PageTemplate内のCmsComponentsで埋め込むことのできるセクションに過ぎません。これは、PageTemplate(このPageTemplateを使用して各ページに対して何度も何度も入力したくない場合に備えて)またはPage(すべてのPageのコンテンツを変更したい場合)に使用できます。例えば

:ヘッダーとフッターなどの

  • ContentSlotsは、すべてのページに同じように見えることになっています。したがって、これらはPageTemplate用に定義されています。
  • ContentSlotsはページのメインコンテンツ(例:利用規約)は、ページごとに異なる場合があります。したがって、これらはページ用に定義されています。

PageTemplatesの場合、HeaderとFooterのようにContentSlotを再利用するのが一般的です(たとえば、すべてのPageTemplatesに使用されるContentSlot "HeaderContent"は1つだけです)。したがって、これらのスロットの内容が変更されると、すべてのPageTemplateとすべてのPagesで変更されます。すべてのページで一度だけ変更する必要があります。

CMSCockpitでは、ContentSlotForTemplateが赤で表示されているので、PageTemplateを変更しているため、表示しているページだけではない可能性があります。

関連する問題