improved translation links update
This commit is contained in:
@@ -48,32 +48,32 @@ class MaterioDecoupledLanguageLinks extends ControllerBase {
|
||||
public function getPathTranslationLinks(Request $request) {
|
||||
$post_data = json_decode( $request->getContent(),TRUE);
|
||||
$path = $post_data['path'];
|
||||
$data = [];
|
||||
|
||||
// build the links
|
||||
$url_object = \Drupal::service('path.validator')->getUrlIfValid($path);
|
||||
// Call to a member function getRouteName() on bool in Drupal\materio_decoupled\Controller\MaterioDecoupledLanguageLinks->getPathTranslationLinks()
|
||||
if (!$url_object) {
|
||||
// if path does not exists rtuen an error
|
||||
return new JsonResponse(array(
|
||||
"links" => [],
|
||||
"error" => "path {$path} is not valid"
|
||||
));
|
||||
}
|
||||
$route_name = $url_object->getRouteName();
|
||||
$route_parameters = $url_object->getrouteParameters();
|
||||
|
||||
$languages = $this->languageManager->getNativeLanguages();
|
||||
if (!$url_object) {
|
||||
// if path does not exists
|
||||
$data["error"] = "path {$path} is not valid";
|
||||
$route_name = "<front>";
|
||||
$route_parameters = null;
|
||||
}else{
|
||||
$route_name = $url_object->getRouteName();
|
||||
$route_parameters = $url_object->getrouteParameters();
|
||||
}
|
||||
|
||||
foreach ($languages as $key => $language) {
|
||||
$url = Url::fromRoute($route_name, $route_parameters, ["language"=>$language]);
|
||||
$links[$key] = [
|
||||
"title" => $language->get('label'),
|
||||
"url" => $url->toString()
|
||||
"url" => $url->toString(),
|
||||
"sys_path" => $url->getInternalPath()
|
||||
];
|
||||
}
|
||||
|
||||
$data = array(
|
||||
"links" => $links
|
||||
);
|
||||
$data["links"] = $links;
|
||||
|
||||
return new JsonResponse($data);
|
||||
}
|
||||
|
Reference in New Issue
Block a user