---
title: "Custom components"
date: "2022-05-30T10:16:35+00:00"
summary: "Extend Site Studio's capabilities with custom components. Develop in JS or PHP without deep Drupal knowledge. Leverage form fields, Twig templates, and JavaScript API for tailored functionality in your website."
image:
type: "page"
url: "/drupal-starter-kits/add-ons/site-studio/custom-components"
id: "15277be7-6236-46be-bb6b-21a6afd76b6f"
---

Custom components are components that will behave the same way as regular Site studio components but are defined via custom code instead of being config entities. With custom components you can extend the capabilities of Site studio to meet your requirements. Custom components can be developed in JS or PHP without the need for a deep knowledge of Drupal.

Custom components come with a variety of options, allowing you to leverage Site Studio form fields, Twig templates, plain HTML, Drupal JavaScript API or attaching plain JS files.

*   [JS component example](https://github.com/acquia/cohesion/tree/6.9.x/modules/example_custom_component/custom_components/js_component)
*   [Twig component example](https://github.com/acquia/cohesion/tree/6.9.x/modules/example_custom_component/custom_components/twig_component)
*   [Custom component definition reference](/drupal-starter-kits/add-ons/site-studio/custom-component-definition-reference "Custom component definition reference")