`

Catalog

阅读更多

概念解析:

一:Catalog

Catalog 是由相关的Repository Item 组成的。它形成或者组织用户进行定位或者购买的导航性质的架构。

我们也可以理解为它是一颗树的rootcatalog.它可以包含Category. 引用的形式就是通过属性rootCategories.

 

二: Category

Category 就是对Catalog 以树的形式进行组织。其中最高级别的Category就是Root Category. Root Category下面的category就是child Category. Root Category 是一个站点的导航的起点。

Category 下面还可以包括Category product所以 Category Product 都保持着的对category的引用。

 

三: Product

Product 就是对sku的一个集合。是整个站点的导航的结束点。Product 是不可以销售的。

 

: Sku Stock Keeping Unit

就是指单个可以销售的产品。包括组合式的那种产品。

他可以分为三种类型,当然,如果要扩展另说。

分别为:

Simple SKU

Sku Bundle

Configurable Sku

 

扩展Product Catalog

所谓的扩展其实具体可以分为三种类型:

一:对已经存在的Items type 进行添加额外的属性。

比如存在的categories,products,skus等等。添加额外的属性需要依赖于XML 联合。

Steps:(比如需要创建一个新的属性EnterprsieProductId

 

1 在数据库中创建一张新的表MUSIC_PRODUCT

CREATE TABLE MUSIC_A.MUSIC_PRODUCT(

PRODUCT_ID VARCHAR2(40) NOT NULL REFERENCES DCS_PRODUCT(PRODUCT_ID),

    ENTERPRISE_PRODUCT_ID VARCHAR2(40) ,

    PRIMARY KEY (PRODUCT_ID)

);

2 customCatalog.xml 的定义文件中创建添加一个新的属性

<table name=“music_product” type=“auxiliary” id-column-name=“product_id”>

   <property name=“enterpriseProductId” display-

Name=“Enterprise Id” data-type=“string” colu

Mn-name=“enterprise_product_id” category=

“MUSIC”>

  <attribute name=“uiwritable” value=“true” />

</property>

</table>

3 这篇配置文件应该放置于/atg/commerce/catalog/customCatalog.xml

二:创建新的类型,这种类型是OOTB不存在的。

比如现在站点上需要创建一个GlobalHeader 之类的Banner.

1 创建一张表

CREATE TABLE MUSIC_BANNER (  

  ID VARCHAR2(40) NOT NULL  PRIMARY KEY,

  TITLE VARCHAR2(40 CHAR),

  LINK_URL VARCHAR2(256 CHAR),

  MEDIA_ID VARCHAR2(40),

  FOREIGN KEY (MEDIA_ID) REFERENCES DCS_MEDIA(MEDIA_ID)

);

2 创建定义文件

<item-descriptor name=“banner”
                 display-name=“Promotional Content”>

  <table name=“MUSIC_BANNER” type=“primary”
         id-column-name=“id”>

    <property name=“id” data-type=“string”

                    column-name=“ID”></property>

    <property name=“title” data-type=“string”
              column-name=“TITLE”></property>

    <property name=“linkURL” data-type=“string”
              column-name=“LINK_URL”></property>

    <property name=“media” item-type=“media-external”           
              column-name=“MEDIA_ID”></property>
  </table>

</item-descriptor>

3 再创建一张新的表去保存相关的banner 的集合。

CREATE TABLE PRJ_CATEGORY_BANNERS (

  CATEGORY_ID VARCHAR2(40 BYTE) NOT NULL ENABLE,

  BANNER_ID VARCHAR2(40 BYTE),

  SEQUENCE_NUM NUMBER NOT NULL ENABLE

);

4 再添加一个新的item 在定义文件中

<item-descriptor name="category">      

  <table name=“PRJ_CATEGORY_BANNERS" type="multi"
         multi-column-name=“SEQUENCE_NUM"
         id-column-name=“CATEGORY_ID">

    <property name=“banners" display-name=“Banners"
              data-type="list" column-name=“BANNER_ID"
              component-item-type=“bannerContent"/>

  </table>  

</item-descriptor>

 

三:针对已经存在的Item type 去创建他的子类型,即所谓的继承。

product item为例,他缺省有一个属性值叫做type。数据类型是枚举。他的作用主要是用来创建一些item的子类型。

<property name=“type” data-type=“enumerated”
   column-name=“product_type”

writable=“false”    hidden=“true”>

<option value=“product”/>

<option value=“electronicGiftCard”/>

</property>

创建一个数据库表,MUSIC_EGIFTCARD

CREATE TABLE MUSICA. MUSIC_EGIFTCARD(

PRODUCT_ID VARCHAR2(40) NOT NULL REFERENCES DCS_PRODUCT(PRODUCT_ID),

MIN_CARD_VALUE NUMBER(6,2) NOT NULL,

MAX_CARD_VALUE NUMBER(6,2) NOT NULL,

    PRIMARY KEY (PRODUCT_ID)

);

Repository 定义文件中添加一个新的item-descriptor

<item-descriptor name=“electronicGiftCard

   Super-type=“product”

//对应上面的option value

Sub-type-value=“electronicGiftCard” >

<table name=“MUSIC_EGIFTCARD” type=“auxiliary” id-column-name=“PRODUCT_ID”>

    <property name=“minCardValue”

data-type=“double”

             column-name=“MIN_CARD_VALUE”/>

<property name=“minCardValue”

data-type=“double”

             column-name=“MAX_CARD_VALUE”/>

</table>

</item-descriptor>

然后/atg/commerce/CatalogTools component需要被更新。

以前的OOTB的属性值:

catalogFolderItemTypes=catalogFolder

catalogItemTypes=catalog

productItemTypes=product

categoryItemTypes=category

SKUItemTypes=sku,configurableSku

然后添加新的productItemTypes

productItemTypes+=electronicGiftCard

 

 

分享到:
评论

相关推荐

    maven_archetype-catalog.zip

    《 Maven Archetype Catalog:加速Eclipse中的Maven项目创建 》 在软件开发过程中,Maven作为Java项目管理工具,其强大的依赖管理和构建能力深受开发者喜爱。然而,当我们使用Eclipse这样的集成开发环境(IDE)时,...

    Oracle Biee Catalog合并

    在管理Oracle BIEE的Catalog时,有时需要进行合并操作,这可能是为了整合不同源的数据或者进行系统升级。Catalog在Oracle BIEE中扮演着至关重要的角色,它是元数据的存储库,包含了所有数据源、报表、分析和用户权限...

    archetype-catalog.xml

    标题中的"archetype-catalog.xml"是Maven Archetype插件的一个重要文件,它包含了所有可用的Maven项目模板的元数据。当你在IntelliJ IDEA(简称IDEA)中创建一个新的Maven项目并选择“从Archetype创建”时,IDEA会...

    archetype-catalog.zip

    《 Maven Archetype Catalog:快速构建项目的核心工具 》 Maven Archetype Catalog是Maven生态系统中的一个重要组成部分,它提供了一种快速创建新Maven项目的模板集合。这个名为"archetype-catalog.zip"的压缩包...

    maven archetype-catalog.xml 下载

    `archetype-catalog.xml`是Maven骨架目录的一个元数据文件,它包含了所有可用的骨架信息。 `archetype-catalog.xml`文件的作用在于,它是一个骨架仓库的目录清单,列出了该仓库中所有的Maven骨架。这些骨架可以被...

    XMLCatalog必备文件

    XMLCatalog是XML处理中一种重要的工具,主要用于管理和重用XML文档类型定义(DTD)和XML模式(XSD)文件。这些文件在XML处理中扮演着关键角色,它们定义了XML文档的结构和语法规则。在大型项目或复杂环境中,XML...

    maven自定义catalog

    在Maven中,“Catalog”是指一个包含了一系列Maven Archetypes的列表,这些Archetypes是预定义的项目模板,可以帮助开发者快速启动新项目。当我们谈论“maven自定义catalog”,这意味着我们需要创建一个个性化的...

    REUSE_ALV_FIELDCATALOG_MERGE注意点.docx

    在 SAP 开发环境中,"REUSE_ALV_FIELDCATALOG_MERGE" 是一个非常重要的函数,用于合并和创建用于 ALV (ABAP List Viewer) 输出的字段目录。然而,在使用这个函数时,可能存在一些陷阱和注意事项,导致程序出错或者...

    数据库的catalog与schema

    在数据库管理中,Catalog(目录)和Schema(模式)是两个非常重要的概念,它们构成了数据库组织和管理的基础。本文将深入探讨这两个概念,以及它们在实际应用中的作用。 首先,让我们来理解什么是Catalog。在数据库...

    Asset Catalog Creator Free

    "Asset Catalog Creator Free"是一款专为开发者和设计师打造的快速切图工具,它极大地简化了iOS应用中图像资源的管理与导出流程。这款软件允许用户直接导入图片,并且能够一键生成适用于不同设备分辨率的@3x、@2x和@...

    Oracle rman catalog备份

    在“Oracle RMAN catalog备份”这个主题中,我们将深入探讨RMAN如何使用catalog进行备份操作,并理解相关的核心概念和技术细节。 首先,RMAN catalog是一个中央存储库,用于记录所有与备份和恢复相关的元数据,如...

    关于catalog.wci无法删除的问题

    ### 关于catalog.wci无法删除的问题 在计算机系统中,我们经常会遇到一些文件因为权限问题、正在被使用或系统锁定等原因而无法删除的情况。其中,“catalog.wci”这类文件尤其令人头疼,因为随着时间的推移,它们...

    NBU Catalog数据库的备份与恢复

    《NBU Catalog数据库的备份与恢复》 NetBackup(NBU)是Veritas公司的一款强大的企业级备份和恢复软件,其Catalog数据库是整个系统的核心,存储了所有备份作业、策略和元数据信息。理解如何备份和恢复NBU Catalog...

    GP pg_catalog查询.docx

    在PostgreSQL数据库系统中,`pg_catalog`是一个特殊模式,它包含了系统定义的表、视图和索引,用于存储数据库元数据。元数据是指关于数据的数据,例如表的结构、列信息、索引、约束、函数等。下面将详细讨论在`GP pg...

    Glass Catalog.rar

    本压缩包文件“Glass Catalog.rar”是2021年7月以来各大玻璃厂商的ZEMAX格式玻璃库集合,涵盖了多个知名玻璃制造商的数据,为光学设计师提供了一个便捷的参考资料库。 一、ZEMAX玻璃库的重要性 ZEMAX玻璃库是ZEMAX...

    archetype-catalog.rar

    Maven Archetype Catalog是Maven构建系统中的一个重要工具,它用于快速创建项目模板,极大地提高了开发者的效率。"archetype-catalog.rar"是一个压缩包,包含了"Maven骨架目录"(Archetype Catalog),这是一个XML...

    SRM-MDM Catalog Setup – Ready Reference

    根据给定的文件信息,我们将深入探讨“SRM-MDM Catalog Setup – Ready Reference”这一主题,专注于SAP NetWeaver MDM系统中的SRM-MDM目录设置过程。这份文档不仅适用于SAP SRM(Supplier Relationship Management...

Global site tag (gtag.js) - Google Analytics