---
title: "Content object array - COA, COA_INT"
manual: "TypoScript Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3tsref:cobj-coa-int@main"
source: "ContentObjects/CoaAndCoaInt/Index.rst"
rendered: "2026-09-19T06:55:14+00:00"
---

# Content object array - COA, COA_INT {#cobj-coa-int}

> [!NOTE]
> -   COA is an object type (= complex data type).
> -   It is a specific [cObject](https://docs.typo3.org/permalink/t3tsref:cobject@main) data type.

COA stands for "content object array".

An object with the content type COA is a cObject, in which you
can place several other cObjects using numbers to enumerate them.

You can also create this object as a COA_INT in which case it works
exactly like the [USER_INT](https://docs.typo3.org/permalink/t3tsref:cobj-user-int@main) object does: It's
rendered non-cached! That way you cannot only render non-cached
[USER_INT](https://docs.typo3.org/permalink/t3tsref:cobj-user-int@main) objects, but COA_INT allows
you to render *every* cObject non-cached.

## Properties {#cobj-coa-properties}

### 1,2,3,4... {#cobj-coa-index}

-   **1,2,3,4...**

    -   *Type:* [cObject](https://docs.typo3.org/permalink/t3tsref:data-type-cobject@main)

    Numbered properties to define the different cObjects, which should be
    rendered.

### cache {#cobj-coa-cache}

-   **cache**

    -   *Type:* [cache](https://docs.typo3.org/permalink/t3tsref:cache@main)

    See [cache function description](https://docs.typo3.org/permalink/t3tsref:cache@main) for details.

### if {#cobj-coa-if}

-   **if**

    -   *Type:* [->if](https://docs.typo3.org/permalink/t3tsref:if@main)

    If `if` returns false, the COA is **not** rendered.

### stdWrap {#cobj-coa-stdwrap}

-   **stdWrap**

    -   *Type:* [->stdWrap](https://docs.typo3.org/permalink/t3tsref:stdwrap@main)

    Executed on all rendered cObjects after property [wrap](https://docs.typo3.org/permalink/t3tsref:cobj-coa-wrap@main).

### wrap {#cobj-coa-wrap}

-   **wrap**

    -   *Type:* [wrap](https://docs.typo3.org/permalink/t3tsref:data-type-wrap@main) / [stdWrap](https://docs.typo3.org/permalink/t3tsref:stdwrap@main)

    Wraps all rendered cObjects. Executed before property [stdWrap](https://docs.typo3.org/permalink/t3tsref:cobj-coa-stdwrap@main).

## Examples: {#cobj-coa-int-examples}

**EXT:site_package/Configuration/Sets/Main/setup.typoscript**

```typoscript
lib.contentexample = COA
lib.contentexample {
  10 = TEXT
  10.value = <h1>Header</h1>

  20 = CONTENT
  20 {
    table = tt_content
    select.orderBy = sorting
    select.where = {#colPos}=0
  }

  30 = TEXT
  30.value = <footer>Footer text</footer>
}

```

The previous example will print a simple `<h1>` header, followed by the page
content records and a `<footer>` element.

**EXT:site_package/Configuration/Sets/Main/setup.typoscript**

```typoscript
lib.currentDate = COA_INT
lib.currentDate {
  10 = TEXT
  10.stdWrap.data = date:U
  10.stdWrap.strftime = %H:%M:%S
}

```

This example will not be cached and so will display the current time
on each page hit.
