Я работаю на веб-сайте Drupal, где мне нужно изменить все URL-адреса, содержащие «member», на «follower».
Пример:
и т.п.
Я перепробовал несколько вещей, которые не работали, и затем я узнал о processOutbound, который, кажется, является правильным способом замены «member» на «follower» во всех моих URL.
Но это не работает ни. Не могли бы вы, ребята, помочь мне решить эту проблему?
Пожалуйста, найдите код моего класса ниже.
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);
}
}
Я это сделал !!! Вот решение:
class SquarePathProcessor implements InboundPathProcessorInterface, OutboundPathProcessorInterface {
public function processInbound($path, Request $request) {
if (strpos($path, '/follower') === 0) {
$path = preg_replace('#^/follower#', '/member', $path);
}
return $path;
}
public function processOutbound($path, &$options = array(), Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL) {
if (strpos($path, '/member') === 0) {
$path = preg_replace('#^/member#', '/follower', $path);
}
return $path;
}
}
Спасибо вам всем
Других решений пока нет …