Paragraph handler allows you to provide "Paragraph Handler" classes that can handle pre-processing and altering the render arrays of Paragraph entities when they are displayed.
This helps to prevent .theme files from getting unruly and allows you to make use of traits and inheritance for your Paragraph display logic.
This module is only useful for developers.
See example below:
namespace Drupal\mymodule\Plugin\ParagraphHandler;
use Drupal\paragraph_handler\Plugin\ParagraphHandlerBase;
use Drupal\Core\Url;
/**
* Class Card.
*
* @ParagraphHandler(
* id = "card",
* label = @Translation("Card")
* )
*/
class Card extends ParagraphHandlerBase {
/**
* {@inheritdoc}
*/
public function preprocess(array &$variables, array $element) {
if ($this->isNested()) {
$variables['nested_class'] = TRUE;
}
$variables['new_variable'] = t('Test');
}
/**
* {@inheritdoc}
*/
public function build(array &$build) {
$build['link'] = [
'#type' => 'link',
'#title' => t('Link title'),
'#text' => t('Link text'),
'#url' => Url::fromUri('<front>'),
];
}
}
Place your paragraph handler under src\Plugin\ParagraphHandler\ folder inside your module.
Roadmap
- Admin UI to manage paragraph handlers. To enable and disable handlers.
Project information
- Project categories: Content editing experience, Content display, Developer tools
- Ecosystem: Paragraphs
26 sites report using this module
- Created by dpolant on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
8.x-1.4
released 20 November 2024
Works with Drupal: ^8 || ^9 || ^10 || ^11
Install:
Development version: 8.x-1.x-dev updated 20 Nov 2024 at 17:26 UTC



