Version: EPiServer CMS 6.0.530.0
Globalization is enabled and I've now enabled a new language. For the already created pages I can't add the language (with startpage and all pages below), EPiServer just says the page isn't available for the current language. I can't create any new pages with the new language below the startpage. I can however create a page with the new language below the root (parallel to the startpage), and I can move pages ... what is wrong? How can i make globalized versions of the old pages?
Tanks in advance.
It sounds like you need to enable the language in the language settings for the start page. Even though the language is globally enabled you can also enable/disable languages for different parts of the page tree which sounds like the case here.
Thanks for the reply. Unfortunately that option isn't available... none of the language options (see http://dl.dropbox.com/u/9091767/episerver.png) are available for the old pages, only for new pages. Any idea what I could do (besides recreating the site as new pages)?
I have had the same problem. When I exported some pages from and cms 4 site to a cms 5 site.
I needed to recreate the pages in an other location.
I had only 2 levels so this code expanins the consept for 2 levels, but I think u should make it recursive
void CreateBtn_Click(object sender, EventArgs e)
PageData targetPage = EPiServer.DataFactory.Instance.GetPage(PageReference.Parse(CreateIn.Text));
int? pageTypeID = PageTypeResolver.Instance.GetPageTypeID(typeof(CorePageSimplePageType));
PageDataCollection pages = EPiServer.DataFactory.Instance.GetChildren(new PageReference(962), LanguageSelector.MasterLanguage());
StringBuilder debug = new StringBuilder();
foreach (var page in pages)
CorePageSimplePageType createPage = CreatePage(targetPage, pageTypeID, page,debug);
createPage.IsTypeEdocument = true;
PageReference createdRef = EPiServer.DataFactory.Instance.Save(createPage, EPiServer.DataAccess.SaveAction.Publish);
PageDataCollection pages2 = EPiServer.DataFactory.Instance.GetChildren(page.PageLink, LanguageSelector.MasterLanguage());
if (pages2.Count > 0)
PageData myTarget = EPiServer.DataFactory.Instance.GetPage(createdRef);
foreach (var page2 in pages2)
CorePageSimplePageType createPage2 = CreatePage(myTarget, pageTypeID, page2,debug);
PageReference createdRef2 = EPiServer.DataFactory.Instance.Save(createPage2, EPiServer.DataAccess.SaveAction.Publish);
DebugLit.Text = debug.ToString();
And yes, its dirty code :)
Ok, so this code basically replicates the site structure (or at least two levels) as new nodes? Thanks for the code/suggestion, I might try doing that.
Maybe also an export/import could work?