Drupal 9 - Path Alias - Alle duplikate/mehrfache URLs löschen

Delete all duplicate URL Aliases ( langcode-path-alias ) :


function drupal9_delete_all_duplicate_path_aliases( )
{
    
    $properties = []; // $properties = [ 'path' => '/node/123' ]
    $path_alias_manager = \Drupal::entityTypeManager()->getStorage('path_alias');
    $alias_objects = $path_alias_manager->loadByProperties( $properties );
    
    $unique_alias_arr = [];
    
    foreach($alias_objects as $alias_object) {


        $path       = $alias_object->getAlias();
        $alias      = $alias_object->getPath();
        $langcode   = $alias_object->language()->getId();

        $path_and_alias = $langcode . $path . $alias ;

        if( empty( $unique_alias_arr[ $path_and_alias ] ) ) {
            $unique_alias_arr[ $path_and_alias ] = $path_and_alias;
        } else {
            $alias_object->delete();
        }
    }
}

 

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

  • 4 weeks ago
    Transaction isolation level REPEATABLE-READ The recommended level for Drupal is "READ COMMITTED". (Drupal Status Report)

     Edit "/etc/my.cnf" ( under [mysqld] ):

    transaction_isolation="READ-COMMITTED"

    Restart MariaDB / MySQL:

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent' -P MyTempDir123 --wait=0.2 --random-wait -nd -r -x -l 4 -e robots=off --reject

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent2024' -P MyOutPutDirectory --wait=1 --random-wait -nd -r -l 2 -e robots=off --reject

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

     

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    Linux Autovervollständigung - bash autocomplete
    source ~/.bashrc

    Diese Lösung wird empfohlen aber hat bei mir nicht funktioniert.

    Welche Alternative gibt es?

  • 2 months 1 week ago
    PHP-CLI auf PHP8.2 umstellen (für Composer, Drush etc)

    ln -snf /opt/plesk/php/8.3/bin/php /etc/alternatives/php

  • 2 months 1 week ago
    Drush Update failed (require php >=8.2)

    In composer.json, update: 

     

  • 2 months 1 week ago
    Drupal: Anmeldung fehlgeschlagen Es hat mehr als 5 fehlerhafte Anmeldeversuche für dieses Benutzerkonto gegeben. Es ist vorübergehend gesperrt.
    drush sqlq "DELETE FROM flood"
  • 2 months 1 week ago
    Drupal SMTP + Gmail funktioniert nicht mehr (Passwort ist richtig); was ist die Lösung?