---
title: Customizing forum design
---

> 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).

The system stores forum layouts in _**\CMS\CMSModules\Forums\Controls\Layouts**_. By default, the folder contains three sub-folders.

- Custom
- Flat
- Tree

The **Flat** and **Tree** folders contain controls for the corresponding default layouts. The **Custom** folder allows you to define your custom layouts.

To create a custom layout:

1. Add a **subfolder** under the **Custom** folder. The system uses the name of the subfolder as the name of the layout.
2. Implement all controls included in the _Flat_ and _Tree_ layout folders, with any required custom content or logic.

   > **Note:** All of the controls must inherit from the **CMS.Forums.ForumViewer** class and have exactly the same names as in the _Flat_ and _Tree_ layout folders.

   ![](https://docs.kentico.com/docsassets/k8/customizing-forum-design/1.png)

Once implemented, you can assign the custom layout to your website's forums. The layout automatically appears as an option in the **Forum layout** property of **Forum group** and **Forum (Single forum - General)** web parts.
