---
title: Define product content types fields
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

## Start with typical content-type fields

Let's use the Kbank demo site as an example. Kbank provides financial products or services. [Schema.org)](https://schema.org/FinancialProduct) contains detailed information on the recommended fields for financial products.

Each product content type includes essential fields, such as:

- Title
- Slogan or short description
- Associated product image
- Product description.

At this point, you will likely realize that every semantic content type will contain this field combination. You have two options:

- Create these fields in every content type.
- Leverage [reusable field schemas](https://docs.kentico.com/documentation/developers-and-admins/development/content-types/reusable-field-schemas.md), define a collection of core fields, and reuse this core collection in every relevant content type.

### Use reusable field schemas for core content across content types

[Reusable field schemas](https://docs.kentico.com/documentation/developers-and-admins/development/content-types/reusable-field-schemas.md) allow you to avoid repetitive work. Instead of defining similar fields repeatedly for each content type, you create a schema of fields, such as title, description, image or different taxonomy fields as you can see in the image below.

![Editing product content item in Xperience](https://docs.kentico.com/docsassets/modules/model-product-content-type-product-fields/editing-product-content-item-in-xperience.png "Editing product content item in Xperience")

Each schema defines a set of fields dedicated to a specific use case or scenario. You then add this schema to relevant content types as needed. Xperience reflects your changes to a schema, such as adding or removing, in all linked content types.

Creating the **Core Content** collection in the **Product** content type simplifies work for the Kbank team. For editors, it ensures consistency by using the same fields in order across all product and service content types. For developers, it standardizes properties, making it easier to build the presentation layer and saving time in the process. Additionally, the reusable field schema allows developers to create components more efficiently by reducing repetitive tasks.

## Make the image reusable

Good-looking images give your marketing communication proper. Placed strategically, pictures or other visuals can spice up ongoing conversations in your customer’s head.

Your marketers rarely use images once; in many cases, they’ll want to reuse the visuals and frame the conversation into one visual context.

**Call to action in content**

![Kbank call to action element with reusable image content type](https://docs.kentico.com/docsassets/modules/model-product-content-type-product-fields/kbank-call-to-action-button-with-image.png "Kbank call to action element with reusable image content type")

**Hero banner of a landing page**

![Kbank banner with reusable image content type](https://docs.kentico.com/docsassets/modules/model-product-content-type-product-fields/kbank-banner-widget-with-the-same-image.png "Kbank banner with reusable image content type")

**Promotional email**

![Promotional email with reusable image](https://docs.kentico.com/docsassets/modules/model-product-content-type-product-fields/kbank-email-card-with-the-same-image.png "Promotional email with reusable image")

Use a dedicated **Asset** content type to store images and visuals. Your team can upload the file once and reuse it anywhere they need. And if they need to update the image, they’ll just do it once - and their update propagates into all channels and places that reference it.

![Product content type with reusable Asset content type](https://docs.kentico.com/docsassets/modules/model-product-content-type-product-fields/graph-product-fields-with-reusable-asset-content-type.png "Product content type with reusable Asset content type")

The image shows a _Product_ content type which contains fields like title, short description, asset/media and taxonomy. The asset/media field references a dedicated _Asset_ content type with fields to store image title, alt text description, internal description, the media file itself, and a taxonomy.

> **Tip:** See other benefits you can get when you [store your assets in a reusable content type](https://docs.kentico.com/guides/architecture/content-modeling/model-reusable-content/model-a-reusable-article.md).

## Make the product image required

Since the _Asset_ field uses a [Combined content selector](https://docs.kentico.com/documentation/developers-and-admins/customization/extend-the-administration-interface/ui-form-components/reference-admin-ui-form-components.md#combined-content-selector) to reference the reusable _Asset_ content type, editors can save a _Product_ without linking to any image. If your product presentation always depends on an image being present, assign the built-in **Required value** [validation rule](https://docs.kentico.com/documentation/developers-and-admins/customization/extend-the-administration-interface/ui-form-components/ui-form-component-validation-rules.md) to the field to guarantee editors link at least one asset.

![Ensure that editors always provide an image with a built-in Required value validation rule](https://docs.kentico.com/docsassets/modules/model-product-content-type-product-fields/cm-guide-make-asset-required.png "Ensure that editors always provide an image with a built-in Required value validation rule")
