> For the complete documentation index, see [llms.txt](https://stack.sylius.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stack.sylius.com/twig-hooks/advanced/metadata-objects.md).

# Metadata objects

Metadata objects have been introduce to structurize the information passed between hooks and hookables. In Twig Hooks we have two metadata objects:

* A hook metadata object, which contains information about the hook name, and the hook-level defined context
* A hookable metadata object, which contains information about the hook which rendered it, the merged context, the configuration and prefixes

### Accessing a hook metadata

A hook metadata object can be accessed only from a hookable metadata object.&#x20;

### Accessing a hookable metadata

A hookable metadata can be accessed from a Twig template that is a hookable. You can do this by:

* using the `hookable_metadata` variable which is automatically created for hookables
* using the `get_hookable_metadata()` function

There is no difference between these two methods, so you can pick the one you prefer the one that best fits your coding style.&#x20;

{% hint style="info" %}
There are also Twig functions which are shortcuts for accessing concrete data bags from a metadata object:

* `get_hookable_context()` for accessing the context
* `get_hookable_configuration` for accessing the configuration
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://stack.sylius.com/twig-hooks/advanced/metadata-objects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
