Skip to main content
Drupal code

Main navigation

  • Home
  • Snippets
User account menu
  • Log in

Breadcrumb

  1. Home

Snippets

By admin , 22 September, 2025

Get client IP address

$request_stack = \Drupal::service('request_stack');
$request = $request_stack->getCurrentRequest();
$ip_address = $request->getClientIp();

Tags

  • request
By admin , 22 September, 2025

entityQuery: select entities created N days ago

$timestamp = \Drupal::time()->getCurrentTime() - (180 * 24 * 60 * 60);

$ids = \Drupal::entityQuery('activities')
 ->accessCheck(FALSE)
 ->condition('type', ['node_mention', 'comment_mention', 'comment_reply'], 

Tags

  • entityQuery
By admin , 22 September, 2025

entityQuery: use several types

$query = \Drupal::entityQuery('your_entity_type')
 ->condition('type', ['node_mention', 'comment_mention', 'comment_reply'], 'IN');

Tags

  • entityQuery
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

Pagination

  • First page
  • Previous page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Page 5
  • Page 6
  • Page 7
  • Page 8
  • Page 9
  • …
  • Next page
  • Last page

Tags Cloud

dependency injection(21) form(19) views(15) drush(15) twig(13) field(12) preprocess(10) comment(7) render(7) node(7) translate(7) tabs(7) controller(6) file(6) phpunit(5) entity(5) config(5) phpstorm(5) entityTypeManager(5) routes(5) database(4) jquery(4) service(4) roles(4) commerce(3) image(3) date(3) php(3) entityQuery(3) cache(3) slick(3) block(3) custom entity(3) javascript(3) user(3) taxonomy(3) guzzle(3) redirect(3) url(3) git(2) request(2) phpstan(2) event(2) template(2) module(2) schema(2) migration(2) libraries(2) access(2) drupal.org(2) tests(2) ajax(2) photoswipe(2) permissions(2) logger(2) vscode(2) suggestions(2) states(2) title(2) fieldset(2) mysql(2) ci-cd(1) gitlab(1) docksal(1) docker(1) revision(1) filter(1) attribute(1) service provider(1) csv(1) PHPDoc(1) table(1) eslint(1) array(1) deprecation(1) theme(1) errors(1) wsod(1) settings.php(1) watchdog(1) pager(1) widget(1) file.usage(1) queue(1) exif(1) imagemagick(1) media(1) uuid(1) renderer(1) exposed form(1) page manager(1) transliteration(1) random(1) development(1) mail(1) webform(1) register(1) textarea(1) label(1) input(1) batch(1) import(1) messenger(1)
RSS feed
Powered by Drupal