basket_imex-10.x-dev/basket_imex.module
basket_imex.module
<?php /** * @file * Module for organization of import and export of goods. */ use Drupal\basket_imex\AdminPages; use Drupal\Core\Entity\EntityInterface; /** * Implements hook_basket_translate_context_alter(). */ function basket_imex_basket_translate_context_alter(&$context): void { $context[] = 'basket_imex'; } /** * Implements hook_basket_admin_page_alte(). */ function basket_imex_basket_admin_page_alter(&$element, $params): void { (new AdminPages)->alter($element, $params); } /** * Forming a list of fields. * * @param string $nodeType * Material type. * * @return mixed * Array of fields. */ function basket_imex_get_fields($nodeType) { $getFields = &drupal_static(__FUNCTION__); if (!isset($getFields[$nodeType])) { $getFields[$nodeType] = \Drupal::service('entity_field.manager')->getFieldDefinitions('node', $nodeType); // Sub Fields. \Drupal::service('BasketIMEX')->subFields($getFields[$nodeType]); $getFields[$nodeType]['basket_imex_old_redirect'] = [ 'label' => \Drupal::service('Basket')->translate('basket_imex')->t('Redirect from the old link'), 'type' => 'basket_imex_old_redirect', ]; $getFields[$nodeType]['basket_imex_is_delete'] = [ 'label' => \Drupal::service('Basket')->translate('basket_imex')->t('To delete'), 'type' => 'basket_imex_is_delete', ]; \Drupal::moduleHandler()->alter('basket_imex_node_fields', $getFields[$nodeType], $nodeType); $getFields[$nodeType]['nid']->setLabel('NID'); } return $getFields[$nodeType]; } /** * Implements hook_entity_delete(). */ function basket_imex_node_delete(EntityInterface $entity): void { \Drupal::database()->delete('basket_imex_redirect') ->condition('nid', $entity->id()) ->execute(); }