---
title: "object-access"
manual: "Handlebars"
version: "main"
permalink: "https://docs.typo3.org/permalink/cpsit/typo3-handlebars:data-processor-object-access@main"
source: "Usage/DataProcessors/ObjectAccess.rst"
rendered: "2026-09-29T09:05:57+00:00"
---

# object-access {#data-processor-object-access}

**Class:** `\CPSIT\Typo3Handlebars\DataProcessing\ObjecAccessProcessor`

Resolves a property (or nested property path) from an object and stores the
resulting value in the processed data. This is useful for pulling individual
properties out of an Extbase domain object (or any other object) that was
placed into the data processing chain by a preceding processor or controller,
without having to expose the whole object to the template.

-   [Data sources](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:data-sources@main)
-   [Usage](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:usage@main)
-   [Properties](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:properties@main)

## Data sources {#data-processor-object-access-data-sources}

`object` references the source object, e.g. the output of a
preceding processor or a variable assigned by an Extbase controller
(`processedData:post`). See [Referencing data](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:usage-data-sources-payload@main)
for the syntax and [Using the current value](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:usage-data-sources-current@main) for how to access the
current item inside [process-each](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:data-processor-process-each@main).

## Usage {#data-processor-object-access-usage}

`dataProcessing` also runs for Extbase plugins whose controller
extends [HandlebarsController](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:extbase-plugin-handlebars-controller@main), since `HandlebarsView`
renders through the same `HANDLEBARSTEMPLATE` content object under
the hood. An action that assigns a domain object to the view makes that object
available to `object-access` under the assigned key:

**EXT:my_extension/Classes/Controller/BlogController.php**

```php
final class BlogController extends HandlebarsController
{
    public function showAction(Post $post): ResponseInterface
    {
        $this->view->assign('post', $post);

        return $this->htmlResponse($this->renderView());
    }
}
```

```typoscript
plugin.tx_myextension_blog.handlebars {
    Blog::show {
        dataProcessing {
            # Pull the related category's title off the assigned "post" object
            10 = object-access
            10 {
                object = processedData:post
                path = category.title
                as = categoryTitle
            }
        }
    }
}
```

## Properties {#data-processor-object-access-properties}

-   **`object`**

    Data source reference(s) the source object is read from (see
    [Data sources](https://docs.typo3.org/permalink/cpsit/typo3-handlebars:data-processor-object-access-data-sources@main)). Required.

-   **`path`**

    Property path to resolve. Supports plain property names as well as
    dot-separated nested paths (e.g. `category.title`). Paths are
    resolved the same way as [variable paths in Fluid templates](https://docs.typo3.org/other/typo3fluid/fluid/main/en-us/Syntax/Variables.html#variable-access-objects),
    including getter methods. Required.

-   **`as`**

    Target key in the processed data array the resolved value is stored
    under. Default: `result`.

If `object` is not configured, or the resolved value is not an
object, or `path` is missing, or `path` is not a
gettable property on the resolved object, a warning is logged and the
processed data is returned unchanged.

When the resolved value is itself an array, it is run through the standard
TYPO3 `dataProcessing` chain configured on this processor, just
like TYPO3's own `menu` or `database-query`
processors do for their items.
