Drupal: add current_path & path_alias to body tag of page HTML

web/themes/custom/mycustomtheme/mycustomtheme.theme:

function MYCUSTOMTHEME_preprocess_html(&$variables) {
    $current_path = \Drupal::service('path.current')->getPath();
    $path_alias = \Drupal::service('path_alias.manager')->getAliasByPath($current_path);
    
    $current_path_ascii = preg_replace("#[^a-z0-9]#simU","", $current_path);
    
    $variables['attributes']['class'][] = \Drupal\Component\Utility\Html::cleanCssIdentifier($current_path_ascii ); 
    
    $variables['attributes']['class'][] = \Drupal\Component\Utility\Html::cleanCssIdentifier( ltrim($path_alias, '/') );
   
}

Output:

<body class="node123 my/custom/path/for/node/123 user-logged-in path-node page-node-type-article">

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 2 months 1 week ago
    [preflight] The following restricted PHP modes have non-empty values: {open_basedir}. This configuration is incompatible with drush.

    Same with Drush 13 + PHP 8.3

  • 2 months 1 week ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    Initializing...

    Error : Failed to install the required package 'RPM' by using APT. Please install it manually. 

    Exit


    Solution:

  • 2 months 1 week ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    So habe es installiert und dann mit Hilfe von Key/Code (über Website von Acronis Cyber Protect) aktiviert:

  • 2 months 2 weeks ago
    No route found for the specified format html. Supported formats: csv, json. (Drupal Routing)

    I have a view with a path like /my-content-export to export entivies as JSON or CSV.

  • 2 months 2 weeks ago
    InvalidArgumentException: The controller for URI "/admin/flush" is not callable.

    admin_toolbar 3.5.2 is the reason. Patch coming ...

  • 1 month 1 week ago
    PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock

    Drupal 10.4:

  • 3 months 2 weeks ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr

    Tools & Settings >> Security Policy :

     Allow only secure FTPS connections 

  • 4 months 4 weeks ago
    MariaDB Server Performance Optimieren

     

    /usr/sbin/mariadbd --help --verbose | grep "query.*size"
  • 4 months 4 weeks ago
    MariaDB Server Performance Optimieren

    Commandline:

    systemctl restart mariadb
  • 4 months 4 weeks ago
    MariaDB Server Performance Optimieren

    After my changes in /etc/mysql/db-performance.cnf