ePages 7.17.0 - DE_EPAGES/Presentation/API/Ctmpls.pm

Package DE_EPAGES::Presentation::API::Ctmpls

Functions for managing compiled templates in $ENV{EPAGES_STATIC}

@EXPORT_OK
LinkCtmplDir
DeleteObsoleteCtmplDirs
FindPrivateTemplates

Functions

DeleteObsoleteCtmplDirs
FindPrivateTemplates
LinkCtmplDir

DeleteObsoleteCtmplDirs

In $ENV{EPAGES_STATIC}, delete a) directories Templates.d/VERSION/$StoreType with VERSION < $Version if no STORE/Templates links to it and b) directories STORE/Templates.obsolete.*

Syntax
DeleteObsoleteCtmplDirs($StoreType, $Version);
Input
$StoreType (string)
template store type
$Version (string)
ePages version as 6.17.19.1
Return
$Result (boolean)
either 0 (function did nothing) or 1

FindPrivateTemplates

Returns cartridges whose templates are overwritten by private templates in any @$selectedCartridges and $StoreName, i.e. one of them exists: 1. Shared/Stores/$StoreName/Templates/$selectedCartridge 2. **/Data/Private/Templates/$selectedCartridge 3. **/Data/Private/Templates/DE_EPAGES/Dictionary If $StoreType is defined, returns cartridges for $StoreType, otherwise returns cartridges which belong to @$selectedCartridges. If 3. was found, any cartridge has private templates. If $selectedCartridges are not defined, all cartridges belonging to $StoreType (resp. StoreType($StoreName)) are used. If $aCartridgeDirs is not defined, find $selectedCartridges in $ENV{EPAGES_CARTRIDGES}. If $aCartridgeDirs is defined but empty, search only in Shared/Stores. If $StoreName is not defined, search only in **/Data/Private/Templates.

Syntax
$hasPrivateTemplates = FindPrivateTemplates($StoreName, $StoreType,
                       $selectedCartridges, $CartridgeDirs);
Input
$StoreName (string)
name of store
$StoreType (string)
return cartridges for $StoreType
$selectedCartridges (ref.array)
list of cartridges to evaluate
$aCartridgeDirs (ref.array)
find cartridges here, default: $ENV{EPAGES_CARTRIDGES}
Return
$hasPrivateTemplates (ref.hash)
hash whose key is cartridge (slash-sep. as
DE_EPAGES/Ebay) and value is place where private template was found

LinkCtmplDir

In $ENV{EPAGES_STATIC}/$StoreName, symlinks Templates to ../Templates.d/$Version/$StoreType

Syntax
LinkCtmplDir($StoreName, $StoreType, $Version);
Input
$StoreName (string)
name of store
$StoreType (string)
template store type
$Version (string)
ePages version as 6.17.19.1
Return
$Result (boolean)
either 0 (function did nothing) or 1