addLocalization() public method

Adds a localization to the webspace.
public addLocalization ( Localization $localization )
$localization Sulu\Component\Localization\Localization
Ejemplo n.º 1
0
 protected function prepareWebspaceManager()
 {
     if ($this->webspaceManager === null) {
         $webspace = new Webspace();
         $en = new Localization();
         $en->setLanguage('en');
         $en_us = new Localization();
         $en_us->setLanguage('en');
         $en_us->setCountry('us');
         $en_us->setParent($en);
         $en->addChild($en_us);
         $de = new Localization();
         $de->setLanguage('de');
         $de_at = new Localization();
         $de_at->setLanguage('de');
         $de_at->setCountry('at');
         $de_at->setParent($de);
         $de->addChild($de_at);
         $es = new Localization();
         $es->setLanguage('es');
         $webspace->addLocalization($en);
         $webspace->addLocalization($de);
         $webspace->addLocalization($es);
         $this->webspaceManager = $this->prophesize('Sulu\\Component\\Webspace\\Manager\\WebspaceManagerInterface');
         $this->webspaceManager->findWebspaceByKey('sulu_io')->willReturn($webspace);
     }
 }
Ejemplo n.º 2
0
 /**
  * Generates the localization for the webspace from the XML document.
  */
 protected function generateWebspaceLocalizations()
 {
     foreach ($this->xpath->query('/x:webspace/x:localizations/x:localization') as $localizationNode) {
         $localization = $this->generateLocalizationFromNode($localizationNode);
         $this->webspace->addLocalization($localization);
     }
 }
Ejemplo n.º 3
0
 public function testFindLocalization()
 {
     $localeDe = $this->getLocalization('de');
     $localeDeAt = $this->getLocalization('de', 'at');
     $localeDeCh = $this->getLocalization('de', 'ch');
     $localeDe->addChild($localeDeAt);
     $localeDe->addChild($localeDeCh);
     $localeEn = $this->getLocalization('en');
     $this->webspace->addLocalization($localeDe);
     $this->webspace->addLocalization($localeEn);
     $result = $this->webspace->getLocalization('de');
     $this->assertEquals('de', $result->getLocalization());
     $result = $this->webspace->getLocalization('de_at');
     $this->assertEquals('de_at', $result->getLocalization());
     $result = $this->webspace->getLocalization('de_ch');
     $this->assertEquals('de_ch', $result->getLocalization());
     $result = $this->webspace->getLocalization('en');
     $this->assertEquals('en', $result->getLocalization());
     $result = $this->webspace->getLocalization('en_us');
     $this->assertEquals(null, $result);
 }
Ejemplo n.º 4
0
 public function setUp()
 {
     $webspaces = [];
     $portals = [];
     $portalInformations = ['prod' => [], 'dev' => []];
     $this->webspaceCollection = new WebspaceCollection();
     // first portal
     $portal = new Portal();
     $portal->setName('Portal1');
     $portal->setKey('portal1');
     $theme = new Theme();
     $theme->setKey('portal1theme');
     $environment = new Environment();
     $url = new Url();
     $url->setUrl('www.portal1.com');
     $url->setLanguage('en');
     $url->setCountry('us');
     $environment->addUrl($url);
     $environment->setType('prod');
     $url = new Url();
     $url->setUrl('portal1.com');
     $url->setRedirect('www.portal1.com');
     $environment->addUrl($url);
     $portal->addEnvironment($environment);
     $localizationEnUs = new Localization();
     $localizationEnUs->setCountry('us');
     $localizationEnUs->setLanguage('en');
     $localizationEnUs->setShadow('auto');
     $localizationEnUs->setDefault(true);
     $localizationEnCa = new Localization();
     $localizationEnCa->setCountry('ca');
     $localizationEnCa->setLanguage('en');
     $localizationEnCa->setDefault(false);
     $localizationEnUs->addChild($localizationEnCa);
     $localizationFrCa = new Localization();
     $localizationFrCa->setCountry('ca');
     $localizationFrCa->setLanguage('fr');
     $localizationFrCa->setDefault(false);
     $portal->addLocalization($localizationEnUs);
     $portal->addLocalization($localizationEnCa);
     $portal->addLocalization($localizationFrCa);
     $portal->setDefaultLocalization($localizationEnUs);
     $portal->setResourceLocatorStrategy('tree');
     $webspace = new Webspace();
     $webspace->addLocalization($localizationEnUs);
     $webspace->addLocalization($localizationFrCa);
     $segmentSummer = new Segment();
     $segmentSummer->setName('Summer');
     $segmentSummer->setKey('s');
     $segmentSummer->setDefault(true);
     $segmentWinter = new Segment();
     $segmentWinter->setName('Winter');
     $segmentWinter->setKey('w');
     $segmentWinter->setDefault(false);
     $webspace->addSegment($segmentSummer);
     $webspace->addSegment($segmentWinter);
     $webspace->setTheme($theme);
     $webspace->addPortal($portal);
     $webspace->setKey('default');
     $webspace->setName('Default');
     $webspace->addPortal($portal);
     $webspace->setNavigation(new Navigation([new NavigationContext('main', [])]));
     $portals[] = $portal;
     $webspaces[] = $webspace;
     $portalInformations['prod']['www.portal1.com'] = new PortalInformation(RequestAnalyzerInterface::MATCH_TYPE_FULL, $webspace, $portal, $localizationEnUs, 'www.portal1.com', $segmentSummer);
     $portalInformations['dev']['portal1.lo'] = new PortalInformation(RequestAnalyzerInterface::MATCH_TYPE_FULL, $webspace, $portal, $localizationEnUs, 'portal1.lo', $segmentSummer);
     $this->webspaceCollection->setWebspaces($webspaces);
     $this->webspaceCollection->setPortals($portals);
     $this->webspaceCollection->setPortalInformations($portalInformations);
 }