Drupal is a registered trademark of Dries Buytaert
Release: Drupal 10.3.6 Update released for Drupal core (10.3.6)! Release: Drupal 11.0.5 Update released for Drupal core (11.0.5)! Release: Drupal 10.2.9 Update released for Drupal core (10.2.9)! Release: Drupal 10.2.10 Update released for Drupal core (10.2.10)! Release: Drupal 10.3.7 Update released for Drupal core (10.3.7)! Release: Drupal 11.0.6 Update released for Drupal core (11.0.6)! Release: Drupal 10.3.8 Update released for Drupal core (10.3.8)! Release: Drupal 11.0.7 Update released for Drupal core (11.0.7)! Module Revived: Translation Management Tool 8.x-1.19 Module tmgmt updated after 7 months of inactivity (8.x-1.19). Usage Milestone: Account field split Module account_field_split crossed 10,000 active installs.

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.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Nov 2024
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Core Release date
8.x-1.4 Stable Nov 20, 2024