Данный мод позволяет выводить на странице PrintView и отправке статьи по e-mail все содержимое многостраничной статьи.
Предупреждение: если у вас статьи содержат очень много страниц, то лучше данный мод не применять - пожалейте посетителей (я не хотел бы получить по мейлу 30-ти страничную статейку.)
Правим: Sanitarium_WL.pm
Находим подпрограмму sub build_article (строки 438-484)
и меняем ее на этот вариант:
sub build_article {
#-----------------------------------------------------
#Full Article Content MOD (FACM)
my $self=shift;
my ($id, $cat, $page_view, $print)=@_;#Get article&category data
unless ($self->{\'authors_ext\'}){$self->extract_authors;}
my ($html);
$cat||=$self->{\'cat_id\'};
$self->{\'id\'}=$id;
$self->{\'cat_id\'}=$cat;
$self->{DB_Field}=\'article\';
$self->{\'comments\'}="$self->{\'view_comments\'}?id=$id&cat_id=$cat";
$self->{\'cat_url\'}="$self->{\'public_url\'}/$self->{\'cat_id\'}/$self->{\'index_page\'}";
$self->article_open;
my @pages= sort {$a <=> $b} map {$_ if defined $article_db{$_}} keys %article_db;
#if use dinamic generated pages
if ($page_view){
$self->{\'page\'}=$page_view;
$self->unpack_rec($article_db{$pages[($page_view - 1)]}) unless ($print);#MOD: FACM - unless
#$self->get_author_info();
if ($print){
my $full; #MOD: FACM
#make <%article_url%> for mail & print pages
if ($self->{\'static_pages\'}){$self->{\'article_url\'}="$self->{\'public_url\'}/$self->{\'cat_id\'}/$id"."_1.$self->{\'ext\'}";}
else {$self->{\'article_url\'}=$self->{\'view_cgi_url\'}."?goto=$id";}
#Full Article Content MOD (FACM){
foreach my $num (@pages){
$self->unpack_rec($article_db{$num});
[b]$full .= $self->{\'content\'}.\'\';#
[/b]
}
# } END FACM
[b]$self->unpack_rec($article_db{$pages[0]});#ДОБАВЛЕНО![/b]
$self->{\'content\'}=$full;#MOD: FACM
$self->load_templates($print);#$print = \'print\' or \'mail\'
}
$self->{\'static_pages\'}=0;
&close_article_db;
return $self->parse_article_template;
}
#print pages to site
else {
foreach my $article_page(@pages){
#if (defined $article_db{$article_page}){
$self->{DB_Field}=\'article\';
$self->unpack_rec($article_db{$article_page});#unpack to {}
#unless ($self->{\'name\'}){$self->get_author_info();}
$self->{\'page\'}=$self->{\'num\'};
$html=$self->parse_article_template;
$self->print_page($html);#Print static page
#}
}
}
&close_article_db;
$self->{\'author\'}=\'\';
$self->{\'name\'}=\'\';
}