在 ATG 中,如何禁止创建超级类型的存储库项,同时允许在 BCC 中创建每个子类型?
In ATG, how can I disallow the creation of a Repository Item of a super type while allowing creation of each subtype in the BCC?
假设我有一个带有项目描述符的内容存储库,例如 TypeA。
它有两个子类型 TypeX 和 TypeY
在 BCC 中,我希望作者能够创建 TypeX 和 TypeY 类型的内容,但不能创建 TypeA 类型的内容。
事实证明,你可以两者兼顾 - 要是我在 RTFM 时能见树不见林就好了。
将 "clothing" 替换为 TypeA,将 "shirt" 替换为 TypeX,将 "shorts" 替换为 TypeY
<!-- The "clothing" item type, a base type -->
<item-descriptor name="clothing" sub-type-property="type">
<!-- This is the primary table that holds clothing data -->
<table name="clothing" type="primary" id-column-names="id">
<property name="type" data-type="enumerated">
<option value="shirt"/>
<option value="shorts"/>
</property>
<property name="name"/>
<property name="description"/>
<property name="color"/>
<property name="size"/>
<property name="shippingWeight"/>
</table>
</item-descriptor>
<!-- The "shirt" item type is a subclass of "clothing" -->
<item-descriptor name="shirt" super-type="clothing" sub-type-value="shirt">
<table name="shirt" type="auxiliary" id-column-names="id">
<property name="season"/>
</table>
</item-descriptor>
<!-- The "shorts" item type, now a subclass of "clothing" -->
<item-descriptor name="shorts" super-type="clothing" sub-type-value="shorts">
<table name="shorts" type="auxiliary" id-column-names="id">
<property name="pleated" data-type="boolean"/>
</table>
</item-descriptor>
并且,如果您希望 TypeA 可实例化,则
<!-- The "clothing" item type, a base type -->
<item-descriptor name="clothing" sub-type-property="type"
sub-type-value="clothing">
<!-- This is the primary table that holds clothing data -->
<table name="clothing" type="primary" id-column-names="id">
<property name="type" data-type="enumerated">
<option value="clothing"/>
<option value="shirt"/>
<option value="shorts"/>
<property/>
...
假设我有一个带有项目描述符的内容存储库,例如 TypeA。
它有两个子类型 TypeX 和 TypeY
在 BCC 中,我希望作者能够创建 TypeX 和 TypeY 类型的内容,但不能创建 TypeA 类型的内容。
事实证明,你可以两者兼顾 - 要是我在 RTFM 时能见树不见林就好了。
将 "clothing" 替换为 TypeA,将 "shirt" 替换为 TypeX,将 "shorts" 替换为 TypeY
<!-- The "clothing" item type, a base type -->
<item-descriptor name="clothing" sub-type-property="type">
<!-- This is the primary table that holds clothing data -->
<table name="clothing" type="primary" id-column-names="id">
<property name="type" data-type="enumerated">
<option value="shirt"/>
<option value="shorts"/>
</property>
<property name="name"/>
<property name="description"/>
<property name="color"/>
<property name="size"/>
<property name="shippingWeight"/>
</table>
</item-descriptor>
<!-- The "shirt" item type is a subclass of "clothing" -->
<item-descriptor name="shirt" super-type="clothing" sub-type-value="shirt">
<table name="shirt" type="auxiliary" id-column-names="id">
<property name="season"/>
</table>
</item-descriptor>
<!-- The "shorts" item type, now a subclass of "clothing" -->
<item-descriptor name="shorts" super-type="clothing" sub-type-value="shorts">
<table name="shorts" type="auxiliary" id-column-names="id">
<property name="pleated" data-type="boolean"/>
</table>
</item-descriptor>
并且,如果您希望 TypeA 可实例化,则
<!-- The "clothing" item type, a base type -->
<item-descriptor name="clothing" sub-type-property="type"
sub-type-value="clothing">
<!-- This is the primary table that holds clothing data -->
<table name="clothing" type="primary" id-column-names="id">
<property name="type" data-type="enumerated">
<option value="clothing"/>
<option value="shirt"/>
<option value="shorts"/>
<property/>
...