By admin , 22 September, 2025 Rename existing custom module UPDATE config SET name = REPLACE(name, 'custom_complaint', 'custom_feedback') WHERE name LIKE 'custom_complaint%'; UPDATE config Tags module
By admin , 22 September, 2025 Show node revision update date instead of "created' function mytheme_preprocess_node(array &$variables) { $node = $variables['node']; $current_user = \Drupal::currentUser(); $revision_ids = \Drupal::entityTypeManager() ->getStorage('node') ->revisionIds($node); if (count($revision_ids) > 1) { $revision_user = $ Tags revision preprocess
By admin , 22 September, 2025 Work with date ranges $date_range = $node->get('field_date_range')->first(); $start_date = $date_range->get('value')->getValue(); $end_date = $date_range->get('end_value')->getValue(); Tags field date
By admin , 22 September, 2025 Theming filter guidelines Use filter-guidelines.html.twig template Tags filter
By admin , 19 September, 2025 Add tab for views page if *.links.task.yml doesn't work if ($route_name === 'view.commerce_carts.page_1') { $has_access = in_array('manager', $current_user->getRoles(), TRUE); $data['tabs'][0]['manager_user_canonical'] = [ '#theme' => 'menu_local_task', '#link' = Tags views tabs
By admin , 19 September, 2025 Redirect from /my/TAIL to /user/{uid}/TAIL my_redirect.route: path: '/my/{tail}' defaults: _controller: '\Drupal\my_redirect\Controller\MyRedirectController::redirect' _title: 'My Redirect' requirements: _permission: 'access content' Tags redirect controller
By admin , 19 September, 2025 Render user avatar with image style if ($message_owner->user_picture && !$message_owner->user_picture->isEmpty()) { $render_array = [ '#theme' => 'image_style', '#style_name' => 'privatemsg_avatar', '#uri' => $message_owner->user_picture->entity->getFileUri(), '#alt' => $message_owner->getDisplayName() Tags render image
By admin , 19 September, 2025 Get image field default image $field_config = FieldConfig::loadByName('user', 'user', 'user_picture'); if ($field_config) { $default_value = $field_config->getSetting('default_image'); if (!empty($default_value) && !empty($default_value['uuid'])) { $file = \Drupa Tags image file
By admin , 19 September, 2025 Replace entity access handler to own /** * Implements hook_entity_type_alter(). */ function my_module_entity_type_alter(array &$entity_types) { if (isset($entity_types['privatemsg_thread'])) { $entity_types['privatemsg_thread']->setAccessClass(\Drupal\my_module\Access\MyCustom Tags entity
By admin , 19 September, 2025 Replace entity form class to own /** * Implements hook_entity_type_alter(). */ function mymodule_entity_type_alter(array &$entity_types) { if (isset($entity_types['privatemsg_message'])) { $entity_types['privatemsg_message']->setFormClass('add' Tags form entity