language siwtchers links are working now (reloading the whole site but with the right url)

This commit is contained in:
2018-04-14 16:15:11 +02:00
parent cb2ae7ee35
commit 252149bfdc
9 changed files with 315 additions and 25 deletions
@@ -7,6 +7,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\User\UserDataInterface;
use Drupal\Core\Url;
use Drupal\Core\Language\LanguageInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Drupal\edlp_studio\Entity\Chutier;
@@ -60,11 +61,28 @@ class StudioUIController extends ControllerBase {
$renderable = $this->buildStudioUI();
$rendered = render($renderable);
$data = ['rendered'=>$rendered];
// translations links
// use Drupal\Core\Url;
// use Drupal\Core\Language\LanguageInterface;
$route_name = 'edlp_studio.studio_ui';
$links = \Drupal::languageManager()->getLanguageSwitchLinks(LanguageInterface::TYPE_URL, Url::fromRoute($route_name));
if (isset($links->links)) {
$translations_build = [
'#theme' => 'links__language_block',
'#links' => $links->links,
'#attributes' => ['class' => ["language-switcher-{$links->method_id}",],],
'#set_active_class' => TRUE,
];
$translations_rendered = \Drupal::service('renderer')->executeInRenderContext(new RenderContext(), function () use ($translations_build) {return render($translations_build);});
$data['translations_links'] = $translations_rendered;
}
// JSON
$response = new JsonResponse();
$response->setData([
'rendered'=> $rendered,
]);
$response->setData($data);
return $response;
}