---
title: "Shared Partials"
manual: "Content Blocks"
version: "main"
permalink: "https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:cb-extension-partials@main"
source: "Guides/SharedPartials/Index.rst"
rendered: "2026-09-22T14:15:39+00:00"
---

# Shared Partials {#cb-extension-partials}

Sometimes you want to reuse Partials from your extension in your Content Block
template. This is done by [extending](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:cb-extendtyposcript@main) the `partialRootPaths` of the
default Content Block [FLUIDTEMPLATE](https://docs.typo3.org/m/typo3/reference-typoscript/14.3/en-us/ContentObjects/Fluidtemplate/Index.html#cobj-fluidtemplate)
definition.

## For every Content Block {#for-every-content-block}

**EXT:site_package/Configuration/TypoScript/setup.typoscript**

```typoscript
lib.contentBlock {
    partialRootPaths {
        100 = EXT:site_package/Resources/Private/Partials/ContentElements/
    }
}
```

## For a specific Content Block {#for-a-specific-content-block}

**EXT:site_package/Configuration/TypoScript/setup.typoscript**

```typoscript
tt_content.myvendor_mycontentblockname {
    partialRootPaths {
        100 = EXT:my_sitepackage/Resources/Private/Partials/ContentElements/
    }
}
```

> [!NOTE]
> Content Blocks reserves indexes below `100`.

## For all backend-preview.fluid.html templates {#editor-preview-partials}

Sometimes it is needed to include partials from another source to be used in the
preview. For this some Page TsConfig is needed. This can be included in the
**page.tsconfig** file inside your extension, which is automatically loaded. It
is also possible to provide additional layout root paths.

**EXT:my_extension/Configuration/page.tsconfig**

```typoscript
tx_content_blocks {
  view {
    layoutRootPaths {
      10 = EXT:my_extension/Resources/Private/Layouts/
    }
    partialRootPaths {
      10 = EXT:my_extension/Resources/Private/Partials/
    }
  }
}
```
