I've been created localised version of a number of pages which were all under a parent page on the menu. I then had to change the tabname of the parent, so i localised the parent and changed the page name, but now my sub pages are no longer visible in the menu and when i under 'Pages' the branch is empty.
The pages are still listed correctly in the default language and if i query the database the localised tab pages are still there.
I guess that its broken the parent link somehow - any ideas of how to get the localised pages back.
Michael TobischDNN★MVP
Posted By Johnhols on 17 Aug 2021 06:08 AM I've been created localised version of a number of pages which were all under a parent page on the menu. I then had to change the tabname of the parent, so i localised the parent and changed the page name, but now my sub pages are no longer visible in the menu and when i under 'Pages' the branch is empty. The pages are still listed correctly in the default language and if i query the database the localised tab pages are still there. I guess that its broken the parent link somehow - any ideas of how to get the localised pages back.
Ok, so the parent page was a neutral (not localized) page with localized child pages before you change to to localized?
The parentid are stored against the subpages in the tabs table, its the same parentid for each of the localised pages
The parent page was only localised after the subpages had been localised, which has caused the problem.
I've bit the bullet and restored the database to try again, this time i've started by localising the parent and then working my way down the branches, what i have found now is that only the localised subpages appear on the localised branch, it doesn't include any unlocalised pages.
Looking at the database it's created a completely new branch for each language, looking at SQL the branch is called Solutions,
tabid taborder parentid tabname url CultureCode contentitemid tabpath 200 15 NULL Solutions 293 en-US 612 //Solutions 803 27 NULL Solutions (de-DE) 293 de-DE 5341 //Solutions(de-DE) 804 25 NULL Solutions (es-ES) 293 es-ES 5347 //Solutions(es-ES) 805 23 NULL Solutions (fr-FR) 293 fr-FR 5353 //Solutions(fr-FR) 806 21 NULL Solutions (nl-NL) 293 nl-NL 5359 //Solutions(nl-NL) 807 19 NULL Solutions (sv-SE) 293 sv-SE 5365 //Solutions(sv-SE) 808 17 NULL Solutions (da-DK) 293 da-DK 5371 //Solutions(da-DK)
Rows where parentid=200 (Solutions)
tabid taborder parentid tabname url CultureCode contentitemid tabpath 293 1 200 Overview en-US 917 //Solutions//Overview 584 3 200 Document management 614 en-US 3446 //Solutions//Documentmanagement 257 5 200 Expense management 615 en-US 744 //Solutions//Expensemanagement
Rows where parentid=584 (Solutions --> Document Management Sub-branch)
tabid taborder parentid tabname url CultureCode contentitemid tabpath 614 1 584 Overview en-US 3513 //Solutions//Documentmanagement//Overview 261 3 584 Proof of delivery NULL NULL 758 //Solutions//Documentmanagement//Proofofdelivery 260 5 584 Supplier invoice processing en-US 754 //Solutions//Documentmanagement//Supplierinvoiceprocessing 263 7 584 Invoice approval NULL en-US 766 //Solutions//Documentmanagement//Invoiceapproval 746 9 584 Remittance advice NULL en-US 4432 //Solutions//Documentmanagement//Remittanceadvice 262 11 584 Sales order processing NULL en-US 762 //Solutions//Documentmanagement//Salesorderprocessing 259 13 584 Electronic invoicing NULL en-US 750 //Solutions//Documentmanagement//Electronicinvoicing 258 15 584 Collections management NULL NULL 745 //Solutions//Documentmanagement//Collectionsmanagement
Rows where parentid=805 (French version of Solutions branch)
tabid taborder parentid tabname url CultureCode contentitemid tabpath 811 3 805 Overview (fr-FR) fr-FR 5395 //Solutions(fr-FR)//Overview(fr-FR) 817 5 805 Document management (fr-FR) 614 fr-FR 5439 //Solutions(fr-FR)//Documentmanagement(fr-FR) 835 7 805 Expense management (fr-FR) 615 fr-FR 5573 //Solutions(fr-FR)//Expensemanagement(fr-FR)
Rows where parentid=817 (French Solutions --> Document Management Sub branch)
tabid taborder parentid tabname url CultureCode contentitemid tabpath 823 3 817 Overview (fr-FR) fr-FR 5467 //Solutions(fr-FR)//Documentmanagement(fr-FR)//Overview(fr-FR) 829 7 817 Supplier invoice processing (fr-FR) fr-FR 5511 //Solutions(fr-FR)//Documentmanagement(fr-FR)//Supplierinvoiceprocessing(fr-FR) 883 9 817 Invoice approval (fr-FR) fr-FR 6013 //Solutions(fr-FR)//Documentmanagement(fr-FR)//Invoiceapproval(fr-FR) 889 11 817 Remittance advice (fr-FR) fr-FR 6067 //Solutions(fr-FR)//Documentmanagement(fr-FR)//Remittanceadvice(fr-FR) 895 13 817 Sales order processing (fr-FR) fr-FR 6123 //Solutions(fr-FR)//Documentmanagement(fr-FR)//Salesorderprocessing(fr-FR) 901 15 817 Electronic invoicing (fr-FR) fr-FR 6183 //Solutions(fr-FR)//Documentmanagement(fr-FR)//Electronicinvoicing(fr-FR)
If i recall correctly, previously the localised subpages where still under the Solutions branch, so any non-localised pages would still appear. I think this is how it should work.
My next step is too rename the localised tab pages and hope the structure stays in place.
I have had strange issues too and untill now it was always a DB inconsistancy that existed before localising. Most common was a parent that had a different language from the child page.
try:
SELECT Tabs.TabID, Tabs.PortalID, Tabs.TabName, Tabs.ParentId, Tabs.TabPath, Tabs.IsDeleted, Tabs.CultureCode as TabCultureCode, ParentTabs.TabName as ParentTabName, ParentTabs.CultureCode AS ParentCultureCode, Tabs.Level as TabLevel, ParentTabs.Level AS ParentLevel FROM Tabs INNER JOIN Tabs AS ParentTabs ON Tabs.ParentId = ParentTabs.TabID WHERE NOT Tabs.ParentId IS NULL AND not (Tabs.CultureCode = ParentTabs.CultureCode) and tabs.PortalID = x
These Forums are dedicated to the discussion of DNN Platform.
For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:
Awesome! Simply post in the forums using the link below and we'll get you started.