I am trying to achieve the shared layout for all the languages of the item. Basically, I have a project where a multiple pages are already made, and for 8 languages. Now I need to change every page (they are basically product pages) with that same template to a newer design with a newer components.
Is there any way to make this achievable in not a long time (Basically changing every single page of a product in every single language)? I have heard about the shared layout but how to achieve that in SXA? Also, is it good that to make a new Page Design only for those pages? The problem there is that I need to change the data sources because I think every page will then have the same items with that same data source, and that is not good option if you think about it.
You could achieve this with
SPEusingMerge-Layoutwhich copies the FinalLayout field to SharedLayout and resets the FinalLayout.ex: (Filter by Product Template)
Get-ChildItem -Path "master:/sitecore/content/Tenant/Site" -Language * -Recurse | Where-Object { $_.TemplateName -eq "Product" } | Merge-LayoutMerge-Layout doco link Credits to SPE module
This helps to achieve a common layout across all languages and then you could only have language specific driven from Final Layout (this approach is a huge plus for translations too).
Regarding
Page design, it is not ideal with components havingData Sourceunless you have the content driven from Page item itself this works well.