ISiteCrossLocaleCopyPage Method |
Copies a Page with language settings, together with its descendants, to another location of a Page with language settings, when there is a Lingual Map established between the Region Roots of both Pages .
This method will create a collection of Lingual Maps from the source Page and its descendants, to their corresponding clone Pages.
Namespace: Ingeniux.CMS
IEnumerable<ILingualPageMap> CrossLocaleCopyPage( IPage page, IPage parent, EnumCopyActions placing, bool ignoreExistingMaps = false )
Exception | Condition |
---|---|
ArgumentNullException | When the parameter "page" or "parentPage" is null, or "parentPage" being Root of the Site, and the "placing" is to a sibling position. |
ArgumentException | When "page" or "parentPage" doesn't have valid Hierarchy value. |
InvalidOperationException | When "page" is either Root Page or Recycle Folder; Or when the Region Roots of "page" and "parentPage" don't have established Lingual Map yet. |
SecurityException | When Operating User doesn't have the necessary node-level permssions. The Operating User must have at least read-only permission on "page", and full access on the actual target parent Page. |
This method is for strictly copying Pages between lingual sections that already have their Region Roots mapped. Failure to meet this condition will generate errors.
When "ignoreExistingMaps" is true, system to silently remove any Lingual Map that source Page has at target Locale.
When "ignoreExistingMaps" is false, error will be thrown.
Four events are fired in the following order: BeforeCrossLocaleCopy, BeforePageCopy, AfterPageCopy, and AfterCrossLocaleCopy.