2017-10-11 26 views
0

Je travaille sur un site web Drupal où j'ai besoin de changer toutes les URL contenant "member" en "follower".Drupal 8 Url Alter avec processOutbound et preg_replace

Ex:

  • www.site.com/member ====> www.site.com/follower
  • www.site.com/members ====> www.site. com/followers
  • www.site.com/members/1/info ====> www.site.com/followers/1/info
  • www.site.com/something/member ====> www.site.com/something/fullower

etc.

J'ai essayé plusieurs choses qui n'ont pas fonctionné et puis j'ai découvert processOutbound qui semble être la bonne façon de remplacer "member" par "follower" dans toutes mes URLs.

Mais cela ne fonctionne pas non plus. Pourriez-vous m'aider s'il vous plaît?

Veuillez trouver le code de ma classe ci-dessous.

class SquarePathProcessor implements InboundPathProcessorInterface, OutboundPathProcessorInterface { 

    public function processInbound($path, Request $request) { 

    return $path; 
    } 

    public function processOutbound($path, &$options = array(), Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL) { 
    return preg_replace('@^/member(.*)@', '/follower$1', $path); 
    } 
} 

Répondre

0

Je l'ai fait !!! Voici la solution:

Merci à tous