symfony - Symfony2 JMSI18nRoutingBundle - HTTP/HTTPS depends of locale -


i got website, several locales. ex:

i use jmsi18nroutingbundle that. here config:

jms_i18n_routing:     locales:         - fr_fr         - en_fr         - de_de         - es_es     hosts:         fr_fr: mywebsite.fr         en_fr: en.mywebsite.fr         es_es: mywebsite.es         de_de: mywebsite.de 

some of locales in https, others no, es_es in example.

in https://mywebsite.fr, want generate link es_es website, or inverse, generate https link fr_fr in es_es website.

actually, have nosql database redis, hash foreach locale, value 'https' true or false, , rewrite geturl method routingextension check https:

public function geturl($name, $parameters = array(), $schemerelative = false)  {     $url = $this->container->get('router')->generate($name, $parameters, $schemerelative ? urlgeneratorinterface::network_path : urlgeneratorinterface::absolute_url);      if (isset($parameters['_locale'])) {         $locale = $parameters['_locale'];     } else {         $locale = $this->container->get('request')->getlocale();     }      // (localeget value of 'https' in redis locale)     if (false === $this->localeget('https', $locale)) {         $url = str_replace('https://', 'http://', $url);     } else {         $url = str_replace('http://', 'https://', $url);     }      return $url; } 

is way it, or have better idea ? seems ugly...


Comments