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 days ago
    How to Renew Let’s Encrypt SSL Certificate on Plesk via Ubuntu Shell

    Let’s Encrypt will only accept a wildcard via DNS challenge. 

    If your Plesk instance can’t create the _acme-challenge.example.com TXT (external DNS), the extension can’t complete validation and will show no success. 

  • 1 week 3 days ago
    Warning: Undefined array key "url" in Drupal\Core\Asset\CssCollectionOptimizerLazy->optimizeGroup()
    Warning: Undefined array key "url" in Drupal\Core\Asset\JsCollectionOptimizerLazy->optimizeGroup() 
  • 1 week 5 days ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr
    sudo timedatectl set-timezone Europe/Berlin
  • 2 weeks 5 days ago
    Warning: PHP Startup: Unable to load dynamic library 'apcu.so' ... cannot open shared object file: No such file or directory

    Try this:

  • 1 month ago
    List Cronjobs for all users (via for + crontab)

    Alternative (without warnings like "no crontab for dovecot") to see all tasks:

  • 4 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

    php 8.3 apcu failed

    über Plesk hat es geklappt.

     

  • 4 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

     

    install:

    # sudo apt install php-dev
    
  • 4 weeks 2 days ago
    pecl install apcu : phpize: not found / ERROR: `phpize' failed

    phpize

    # sudo apt install php-dev
    

     

    details

  • 4 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

    Problem:

  • 2 months 2 weeks ago
    Install APCu (PHP 8.1, Plesk)

    Problem: