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インスタンスのため)添加のために利用可能であろう。
だからContentSlotNameの目的は、特定のコンテンツスロットのために添加することができる成分の種類を制限することです。
あなたの2番目の質問に対する答えははいですが、これは避けることができますが、これは任意のタイプのコンポーネントが特定のコンテンツスロットに追加できることを意味します。