ePages 6.17.12 - DE_EPAGES/Presentation/API/Object/PageType.pm

Package DE_EPAGES::Presentation::API::Object::PageType

object interface for PageType.

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

Functions

basePageType
basePageTypes
className
dbPackage
deleteTemplate
directMenus
directSubPageTypes
directTemplates
existsDirectMenu
existsDirectTemplate
existsTemplate
getDirectTemplate
getDirectTemplates
getTemplate
getTemplates
insertMenu
insertTemplate
loginViewAction
menu
menus
setTemplateFile
setTemplateType
subPageTypes
template
templateType
templateTypeAlias
templateTypeFolder
templateTypeFolders
templates
updateTemplate

basePageType

Returns the direct base page type or undef if there is no base page type. Optimized version of $PageType->get('BasePageType')

Syntax
$BasePageType = $Class->basePageType;
Return
$BasePageType (DE_EPAGES::Presentation::API::Object::PageType)
base page type

basePageTypes

Returns all base page types recursively in ascending order, i.e. the main page type (which has no other base page type) is the first array element. This array includes the given page type as last element.

Syntax
$aBasePageTypes = $PageType->basePageTypes;
Return
$aBasePageTypes (reference to array of object)
list of base page types

className

Returns the class name, used for DAL access.

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

dbPackage

Returns the database package, used for DAL access.

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

deleteTemplate

Deletes a template of the page type

Syntax
$PageType->deleteTemplate( $TemplateName );
Input
$TemplateName (string)
template name

directMenus

Returns all menus that are directly defined on this page type.

Syntax
$aMenus = $PageType->directMenus;
Return
$aMenus (ref.array.object)
list of menu objects

directSubPageTypes

Returns all direct sub page types of a page type (not recursively).

Syntax
$aSubPageTypes = $PageType->directSubPageTypes;
Return
$aSubPageTypes (reference to array of object)
list of sub page types

directTemplates

Obsolete. Returns all direct templates as a hash of a page type.

Syntax
$ahTemplates = $PageType->directTemplates;
$ahTemplates = $PageType->directTemplates($Object);
Input
$Object (DE_EPAGES::Object::API::Object::Object)
(obsolete, must be undef) object
Return
$ahTemplates (reference to array of hash)
list of templates

existsDirectMenu

Returns true if the menu is directly defined on this page type.

Syntax
$Exists = $PageType->existsDirectMenu( $Name );
Input
$Name (string)
menu name
Return
$Exists (boolean)
true if the menu exists

existsDirectTemplate

Returns true if an template with this name exists for this page type and is directly assigned to it.

Syntax
$Exists = $PageType->existsDirectTemplate( $Name )
Example
if( $PageType->existsDirectTemplate( 'ProviderDefault' ) ) { ... }
Input
$Name (string)
template name
Return
$Exists (boolean)
true it the template exists

existsTemplate

Returns true if the template exists for this page type

Syntax
$Exists = $PageType->existsTemplate( $Name )
Example
if( $PageType->existsTemplate( 'ProviderDefault' ) ) { ... }
Input
$Name (string)
template name
$Object (DE_EPAGES::Object::API::Object::Object)
OBSOLETE - object
Return
$Exists (boolean)
true it the template exists

getDirectTemplate

Returns the direct template object by its name

Syntax
$Template = $PageType->getDirectTemplate($Name);
Input
$Name (String)
template name
Return
$Template (Template)
template

getDirectTemplates

Returns all direct template objects of the page type.

Syntax
$aTemplates = $PageType->getDirectTemplates;
Return
$aTemplates (ref.array.object)
list of template objects

getTemplate

Returns the template object by its name

Syntax
$Template = $PageType->getTemplate($Name);
Input
$Name (String)
template name
Return
$Template (DE_EPAGES::Presentation::API::Object::Template)
template object

getTemplates

Returns all template objects of the page type.

Syntax
$aTemplates = $PageType->getTemplates;
Return
$aTemplates (ref.array.object)
list of template objects

insertMenu

Adds a menu to this page type.

Syntax
$Menu = $PageType->insertMenu( $hMenu );
Input
$hMenu (ref.hash)
menu parameters, see DE_EPAGES::Presentation::API::Object::Menu::insert
Return
$Menu (DE_EPAGES::Presentation::API::Object::Menu)
menu object

insertTemplate

Creates a new template for the page type, also creates a template type and the default template map for the root object.

Syntax
my $Template = $PageType->insertTemplate( $hTemplate );
Input
$hTemplate (reference to hash)
The hash contains these keys:
  • Name - symbolic template name - varchar(255)
  • FileName - template file name - varchar(255)
  • CartridgeID - cartridge id - integer
Return
$Template (DE_EPAGES::Presentation::API::Object::Template)
the inserted template object

loginViewAction

Returns the view action for the login page using the 'LoginViewAction' attribute. If the current page type returns undef for this attribute, then it's base page type is used.

Syntax
$LoginViewAction = $PageType->loginViewAction;
Return
$LoginViewAction (object)
page type object

menu

Returns the menu by name.

Syntax
$Menu = $PageType->menu( $Name );
Example
$Menu = $PageType->menu( 'Tabs' );
Input
$Name (string)
menu name
Return
$Menu (DE_EPAGES::Presentation::API::Object::Menu)
menu object

menus

Returns all menus of this page type, including inherited menus from the base page type.

Syntax
$aMenus = $PageType->menus;
Return
$aMenus (ref.array.object)
list of menu objects

setTemplateFile

OBSOLETE! - will be removed with ePages 6.14.0 - use "setTemplateType" instead!

Syntax
$PageType->setTemplateFile($hTemplate);
Example
$PageType->setTemplateFile( {
    Name => 'Content-Variation',
    Object => $ProductType,
    FileName => 'SF/SF-Product.Content-Variation.html',
    CartridgeID => GetPKeyCartridgeByPackage('DE_EPAGES::Product'),
} );
Input
$hTemplate (ref.hash)
| with following keys:
  • Name - symbolic template name - varchar(255)
  • Object - related object id (optional def: 1)- int
  • FileName - template file name - varchar(255)
  • CartridgeID - cartridge id (optional)- int

setTemplateType

Sets the template type (layout option) for a given object. Reverts to the standard template if no TemplateTypeAlias given Occures an error via templateTypeFolder if no TemplateTypeFolderAlias given

Syntax
$PageType->setTemplateType( $Object, $TemplateTypeFolderAlias, $TemplateTypeAlias );
Example
$PageType->setTemplateType(
    $Catalog,
    'Content-Base', # i.e. alias of System/PageTypes/SF-Category/TemplateTypes/Content-Base
    '4_img_img_txt_img', # i.e. alias of System/PageTypes/SF-Category/TemplateTypes/Content-Base/4_img_img_txt_img
);
Input
$Object (DE_EPAGES::Object::API::Object::Object)
object
$TemplateTypeFolderAlias (string)
alias of template type folder
$TemplateTypeAlias (string)
(optional) alias of template type

subPageTypes

Returns all known sub page types of a page type recursively.

Syntax
$aSubPageTypes = $PageType->subPageTypes;
Return
$aSubPageTypes (reference to array of object)
list of sub page types

template

Returns information about a template.

Syntax
$hTemplate = $PageType->template($TemplateName, $Object);
Input
$TemplateName (string)
template name
$Object (DE_EPAGES::Object::API::Object::Object)
(obsolete) object
Return
$hTemplate (reference to hash)
with following keys:
  • PageTypeID - page type id - integer
  • Name - symbolic template name - varchar(255)
  • FileName - template file name - varchar(255)
  • CartridgeID - cartridge id - integer

templateType

Returns the template type object with the given requirements.

Syntax
$TemplateType = $PageType->templateType( $FolderAlias, $TemplateTypeAlias );
Input
$FolderAlias (string)
name of folder
$TemplateTypeAlias (string)
name of template type
Return
$TemplateType (DE_EPAGES::Presentation::API::Object::TemplateType)
template type object

templateTypeAlias

gets the active template type (layout option) for a given object and template type folder.

Syntax
my $TemplateTypeAlias = $PageType->templateTypeAlias( $Object, $TemplateTypeFolderAlias );
Example
my $TemplateTypeAlias = $PageType->templateTypeAlias(
    $Catalog,
    'Content-Base', # i.e. alias of System/PageTypes/SF-Category/TemplateTypes/Content-Base
);
Input
$Object (DE_EPAGES::Object::API::Object::Object)
object
$TemplateTypeFolderAlias (string)
alias of template type folder
Return
$TemplateTypeAlias (string)
alias of template type

templateTypeFolder

Returns the requested TemplateTypeFolder object of this PageType.

Syntax
$TemplateTypeFolder = $PageType->templateTypeFolder( $Alias );
Input
$Alias (string)
TemplateTypeFolder alias
Return
$TemplateTypeFolder (DE_EPAGES::Presentation::API::Object::TemplateTypeFolder)
TemplateTypeFolder object

templateTypeFolders

Returns all TemplateTypeFolder objects of this PageType.

Syntax
$aTemplateTypeFolders = $PageType->templateTypeFolders;
Return
$aTemplateTypeFolders (ref.array.object)
list of TemplateTypeFolder objects

templates

Returns all templates of a page type and object.

Syntax
$aTemplates = $PageType->templates;
$aTemplates = $PageType->templates($Object);
Input
$Object (DE_EAPGES::Object::API::Object::Object)
(obsolete) object
Return
$aTemplates (reference to array of hash)
list of templates, see template

updateTemplate

OBSOLETE! Updates attributes of a template.

Syntax
$PageType->updateTemplate( $Name, $Object, $hAttributes);
Input
$Name (string)
template name
$Object (DE_EPAGES::Object::API::Object::Object)
(obsolete, must be undef) object
$hAttributes (reference to hash)
with following keys:
  • FileName - template file name - varchar(255)
  • CartridgeID - cartridge id - integer