block_content_test.module

Same filename in other branches
  1. 9 core/modules/block_content/tests/modules/block_content_test/block_content_test.module
  2. 8.9.x core/modules/block_content/tests/modules/block_content_test/block_content_test.module
  3. 10 core/modules/block_content/tests/modules/block_content_test/block_content_test.module

File

core/modules/block_content/tests/modules/block_content_test/block_content_test.module

View source
<?php


/**
 * @file
 * A dummy module for testing content block related hooks.
 *
 * This is a dummy module that implements content block related hooks to test API
 * interaction with the block_content module.
 */
declare (strict_types=1);
use Drupal\block_content\Entity\BlockContent;

/**
 * Implements hook_block_content_view().
 */
function block_content_test_block_content_view(array &$build, BlockContent $block_content, $view_mode) {
    // Add extra content.
    $build['extra_content'] = [
        '#markup' => '<blink>Wow</blink>',
    ];
}

/**
 * Implements hook_block_content_presave().
 */
function block_content_test_block_content_presave(BlockContent $block_content) {
    if ($block_content->label() == 'testing_block_content_presave') {
        $block_content->setInfo($block_content->label() . '_presave');
    }
    // Determine changes.
    if (!empty($block_content->original) && $block_content->original
        ->label() == 'test_changes') {
        if ($block_content->original
            ->label() != $block_content->label()) {
            $block_content->setInfo($block_content->label() . '_presave');
            // Drupal 1.0 release.
            $block_content->changed = 979534800;
        }
    }
}

/**
 * Implements hook_block_content_update().
 */
function block_content_test_block_content_update(BlockContent $block_content) {
    // Determine changes on update.
    if (!empty($block_content->original) && $block_content->original
        ->label() == 'test_changes') {
        if ($block_content->original
            ->label() != $block_content->label()) {
            $block_content->setInfo($block_content->label() . '_update');
        }
    }
}

/**
 * Implements hook_block_content_insert().
 *
 * This tests saving a block_content on block_content insert.
 *
 * @see \Drupal\block_content\Tests\BlockContentSaveTest::testBlockContentSaveOnInsert()
 */
function block_content_test_block_content_insert(BlockContent $block_content) {
    // Set the block_content title to the block_content ID and save.
    if ($block_content->label() == 'new') {
        $block_content->setInfo('BlockContent ' . $block_content->id());
        $block_content->setNewRevision(FALSE);
        $block_content->save();
    }
    if ($block_content->label() == 'fail_creation') {
        throw new Exception('Test exception for rollback.');
    }
}

Functions

Title Deprecated Summary
block_content_test_block_content_insert Implements hook_block_content_insert().
block_content_test_block_content_presave Implements hook_block_content_presave().
block_content_test_block_content_update Implements hook_block_content_update().
block_content_test_block_content_view Implements hook_block_content_view().

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.