ePortal::PageView - Custom home page of ePortal.
There are 3 types of PageView:
user - personal home page of a registered user
default - only one PageView may be default. This is default home page of a site
template - There may be many templates. Administrator may restrict access to these pages;
Return a number of columns in the current PageView.
Returns array of numbers with width in percent of PageView's columns. Narrow column counts as 1, wide column - as 2. For two-column PageView (N:W) result would be (33,66).
Note: The percent sign is not included after numbers.
Returns array (\@values, \%labels) with available sections for addition to the column. References returned are ready to pass to CGI::popup_menu(...)
column_number is number of desired column in PageView.
Does restore_where(for the column) on ePortal::UserSection object.
If $column is undef then all UserSection (for all columns) are selected. This is the same as call to children().
Returns ePortal::UserSection object ready to restore_next().
Copy PageView object from denoted by $template_id to current one. The pvtype attribute is changed to 'user'. Also copies all daughter UserSection objects.
Returns: 1 on success.
ePortal::PageSection package is used to implement a single section on a home page with a dialog box around it.
Customization of a PageSection is available with a corresponding HTML::Mason component file. Some predefined method should exists in this component.
Here is a brief description of PageSection's component file:
To produce a content the component is called with one parameter: ePortal::UserSection object. Individual settings are available with setupinfo hash stored in database;
setupinfo
<%init> my $section = $ARGS{section}; # ePortal::UserSection object my $setupinfo = $section->setupinfo_hash; </%init> HTML code is here
To initialize PageSection object define some attributes:
<%attr> def_title => { eng => 'Resources catalogue', rus => 'Êàòàëîã ðåñóðñîâ'}, def_width => 'N', def_url => '/catalog/index.htm', def_setupinfo_hash => {} def_xacl_read => 'everyone' </%attr>
This method is used to customize a section with a setup dialog. {old_setupinfo} is used for compatibility with old version of ePortal.
<%method setup_dialog><%perl> my $setupinfo = $ARGS{setupinfo}; if ( $setupinfo->{old_setupinfo} ) { $setupinfo->{filename} = $setupinfo->{old_setupinfo}; delete $setupinfo->{old_setupinfo}; } <&| /dialog.mc:label_value_row, label => pick_lang(rus => "Èìÿ ôàéëà", eng => "File name") &> <& /dialog.mc:textfield, id => 'filename', -size => 40, value => $setupinfo->{filename} &> </&> </%method>
This dialog may be disabled for ordinary users with special attribute
<%attr> disable_user_setup_dialog => 1 </%attr>
This method is used for setupinfo data validation.
<%method setup_validate><%perl> my $setupinfo = $ARGS{setupinfo}; my $obj = $ARGS{obj}; if ( $setupinfo->{filename} eq '' ) { throw ePortal::Exception::DataNotValid( -text => ...); } </%perl></%method>
This method is used to save custom data into setupinfo hash.
<%method setup_save><%perl> my $setupinfo = $ARGS{setupinfo}; my $args = $ARGS{args}; foreach (qw/ filename /) { $setupinfo->{$_} = $args->{$_} if exists $args->{$_}; } </%perl></%method>
Sergey Rusakov, <rusakov_sa@users.sourceforge.net>
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in ''Êàòàëîã'. Assuming CP1252
To install ePortal, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ePortal
CPAN shell
perl -MCPAN -e shell install ePortal
For more information on module installation, please visit the detailed CPAN module installation guide.