schemadotorg_experimental-1.0.x-dev/modules/schemadotorg_devel/schemadotorg_devel.module

modules/schemadotorg_devel/schemadotorg_devel.module
<?php

/**
 * @file
 * Provides development tools for the Schema.org Blueprints module.
 */

declare(strict_types=1);

use Drupal\Core\Cache\RefinableCacheableDependencyInterface;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\node\NodeInterface;

/* ************************************************************************** */
// Devel generate enhancements.
/* ************************************************************************** */

/**
 * Implements hook_menu_local_tasks_alter().
 *
 * Manages node.add and test local tasks.
 */
function schemadotorg_devel_menu_local_tasks_alter(array &$data, string $route_name, RefinableCacheableDependencyInterface $cacheability): void {
  /** @var \Drupal\schemadotorg_devel\SchemaDotOrgDevelGenerateInterface $schemadotorg_devel_generate */
  $schemadotorg_devel_generate = \Drupal::service('schemadotorg_devel.generate');
  $schemadotorg_devel_generate->menuLocalTasksAlter($data, $route_name, $cacheability);
}

/**
 * Implements hook_form_BASE_FORM_ID_alter().
 */
function schemadotorg_devel_form_node_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void {
  /** @var \Drupal\schemadotorg_devel\SchemaDotOrgDevelGenerateInterface $schemadotorg_devel_generate */
  $schemadotorg_devel_generate = \Drupal::service('schemadotorg_devel.generate');
  $schemadotorg_devel_generate->nodeFormAlter($form, $form_state, $form_id);
}

/**
 * Implements hook_node_create().
 */
function schemadotorg_devel_node_create(NodeInterface $node): void {
  /** @var \Drupal\schemadotorg_devel\SchemaDotOrgDevelGenerateInterface $schemadotorg_devel_generate */
  $schemadotorg_devel_generate = \Drupal::service('schemadotorg_devel.generate');
  $schemadotorg_devel_generate->nodeCreate($node);
}

/**
 * Implements hook_node_presave().
 */
function schemadotorg_devel_node_presave(NodeInterface $node): void {
  /** @var \Drupal\schemadotorg_devel\SchemaDotOrgDevelGenerateInterface $schemadotorg_devel_generate */
  $schemadotorg_devel_generate = \Drupal::service('schemadotorg_devel.generate');
  $schemadotorg_devel_generate->nodePresave($node);
}

/**
 * Implements hook_entity_presave().
 */
function schemadotorg_devel_entity_presave(EntityInterface $entity): void {
  /** @var \Drupal\schemadotorg_devel\SchemaDotOrgDevelGenerateInterface $schemadotorg_devel_generate */
  $schemadotorg_devel_generate = \Drupal::service('schemadotorg_devel.generate');
  $schemadotorg_devel_generate->entityPresave($entity);
}

/**
 * Implements template_preprocess_node().
 */
function schemadotorg_devel_preprocess_node(array &$variables): void {
  /** @var \Drupal\schemadotorg_devel\SchemaDotOrgDevelGenerateInterface $schemadotorg_devel_generate */
  $schemadotorg_devel_generate = \Drupal::service('schemadotorg_devel.generate');
  $schemadotorg_devel_generate->preprocessNode($variables);
}

/**
 * Implements hook_cron().
 */
function schemadotorg_devel_cron(): void {
  /** @var \Drupal\schemadotorg_devel\SchemaDotOrgDevelGenerateInterface $schemadotorg_devel_generate */
  $schemadotorg_devel_generate = \Drupal::service('schemadotorg_devel.generate');
  $schemadotorg_devel_generate->deleteOrphanedParagraphs();
}

/* ************************************************************************** */
// Schema.org general settings form.
/* ************************************************************************** */

/**
 * Implements hook_form_FORM_ID_alter().
 *
 * @see \Drupal\schemadotorg\Form\SchemaDotOrgSettingsFormBase::afterBuildDetails
 * @see \Drupal\schemadotorg\Form\SchemaDotOrgSettingsFormBase::formAlter
 */
function schemadotorg_devel_form_schemadotorg_general_settings_form_alter(array &$form, FormStateInterface $form_state): void {
  $form['schemadotorg_devel'] = [
    '#type' => 'details',
    '#title' => t('Development settings'),
  ];
  $form['schemadotorg_devel']['generate_values'] = [
    '#title' => t('Schema.org devel generate values'),
    '#type' => 'schemadotorg_settings',
    '#description' => t('Enter values to be used when generating content using the Devel generate module.')
    . ' '
    . t('Leave empty to disable the generation of property values.'),
    '#description_link' => 'types',
    '#example' => '
# Empty
propertyName01: {  }
# Generate value based on one of the below settings.
propertyName02:
  # Values
  values:
    - value01
    - value02
    - value03
  # String length
  string: 50
  # Name length
  name: 50
  # Machine name length
  machine_name: 32
  # Word length
  word: 20
  # Sentences minimum word count
  sentences: 10
  # Paragraph count
  paragraphs: 3
SchemaType--propertyName02: {  }
entity_type_id--bundle--field_name: {  }
',
  ];
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc