ePages 7.0.0 - DE_EPAGES/Design/API/Object/Style.pm

Package DE_EPAGES::Design::API::Object::Style

object interface for Style.

Base
DE_EPAGES::Object::API::Object::Object

Functions

buildCSSWebPath
canInvalidatePageCache
className
clone
dbPackage
deleteFiles
duplicate
filePath
importXML
isDefault
navbarElements
removeCSSFiles
removeObsoleteStyleSheets
writeCSS
writeCSSFile
writeCSSNoInc

buildCSSWebPath

Builds the URL where the given style sheet alias is located. The style will be generated if the IsInvalid flag is set.

Syntax
$Style->buildCSSWebPath($StyleSheetAlias);
Example
$Style->buildCSSWebPath('StorefrontStyle');
Input
$Alias (string)
style sheet alias
Return
$CSSWebPath (string)
style sheet web path

canInvalidatePageCache

Overwrites method DE_EPAGES::Object::API::Object::Object->canInvalidatePageCache to invalidate page cache.

Syntax
$Object->canInvalidatePageCache;
Return
$Result (boolean)
if $Object can invalidate pagecache: 1 else: 0

className

Returns the class name, used for DAL access.

Syntax
$ClassName = $Style->className;
Return
$ClassName (String)
class name

clone

Clones style and Navbar elements.

Syntax
$Clone = $Style->clone($hInfo, $Recursive);
Input
$hInfo (hash ref)
hash with attribute values that are different in the clone object.
Note that the clone cannot have the same Parent and the same Alias.
$Recursive (boolean)
clone child object too (optional, default is false)
Return
$Clone (object)
style object clone

dbPackage

Returns the database package, used for DAL access.

Syntax
$DbPackage = $Style->dbPackage;
Return
$DbPackage (String)
database package name

deleteFiles

Deletes the directories PublicPath and calls super.

Syntax
$Object->deleteFiles;

duplicate

duplicates style

Syntax
$Dublicate = $Style->duplicate;
Return
$Clone (object)
duplicated style object

filePath

Call DE_EPAGES::Core::API::File::ConvertPathChars with site 'Alias' and parent of site.

Syntax
$Path = $Style->filePath;
Return
$Path (string)
relative file path

importXML

Imports an object from an XML file. This function is called at the XML start tag. The end tag triggers the importXMLEnd function.

Syntax
$Object = $Package->importXML($Handler, $hElement, $Class, $hAttributes);
Input
$Handler (object)
xml import handler with support function addObject
$hElement (ref.hash)
XML element structure, see XML::SAX
$Class (object)
class object; the new object will be an instance of this class
$hAttributes (ref.hash)
attributes hash
Return
$Object (object)
the imported object

isDefault

Returns true if this style is the default style of the shop.

Syntax
$IsDefault = $Style->isDefault;
Example
if( $Style->isDefault ) { ... }
Return
$IsDefault (boolean)
true if this style is the default style

navbarElements

Returns the navigation bar elements that are assigned to the navigation bar with the given name in this style. The elements are ordered by Position.

Syntax
$aNavBarElements = $Style->navbarElements( $NavBarName, {'Alignment' => 'Left'} );
Input
$NavBarName (string)
navigation bar alias
$hParams (ref.hash)
params hash
Return
$aNavBarElements (ref.array.object)
navigation bar elements

removeCSSFiles

Actually deletes all obsoletes CSS files in the style's public path whose file name begins with the given prefixes.

Syntax
$Style->removeCSSFiles(\@FileNamePrefixes);
Example
$Style->removeCSSFiles(['StorefrontStyle']);
$Style->removeCSSFiles(['StorefrontStyle', 'EditorStyle']);
Input
$aFileNamePrefixes (ref.array)
list of file name prefixes

removeObsoleteStyleSheets

Removes obsolete .css files, generated by writeCSSNoInc. Other cartridges can add their own obsolete files by the implementing the hook "API_RemoveObsoleteCSS".

Syntax
$Style->removeObsoleteStyleSheets;

writeCSS

Write Cascading Style Sheet for this style to $PublicPath/StorefrontStyle_<Counter>.css and $PublicPath/EditorStyle_<Counter>.css, increments the counter before.

Syntax
$Style->writeCSS;

writeCSSFile

Writes the actual css file for the given pagetype with the given vars at $PublicPath/_<Counter>.css

Syntax
$Style->writeCSSFile($Alias, $PageTypeAlias, $hVars);
Example
$Style->writeCSSFile('StorefrontStyle', 'SF-Style', $hVars);
Input
$Alias (string)
File name prefix alias
$PageTypeAlias (string)
alias of the pagetype
$hVars (ref.hash)
TLE vars hash

writeCSSNoInc

Write Cascading Style Sheet for this style to $PublicPath/StorefrontStyle_<Counter>.css and $PublicPath/EditorStyle_<Counter>.css, but doesnt increment the counter. Other cartridges can add their own css files by the implementing the hook "API_WriteCSS".

Syntax
$Style->writeCSSNoInc;