Finish rework of hierarchial keywords/categories.
This commit is contained in:
parent
ac7ce44180
commit
491c302309
6 changed files with 100 additions and 32 deletions
|
|
@ -53,7 +53,6 @@ Append the template variables to C<var> for keyword (category) pages.
|
|||
|
||||
sub appendKeywordPageVars {
|
||||
my ( $self, $var ) = @_;
|
||||
my $session = $self->session;
|
||||
my $topKeywords = $self->getTopLevelKeywordsList;
|
||||
my $keywordHierarchy = $self->getKeywordHierarchy( $topKeywords, );
|
||||
$var->{keywords_loop} = $self->getKeywordVariables( $keywordHierarchy );
|
||||
|
|
@ -612,6 +611,7 @@ sub getKeywordVariables {
|
|||
KEYWORD: foreach my $member (@{ $hierarchy }) {
|
||||
my $varBlock = clone $member;
|
||||
$varBlock->{level} = $level;
|
||||
$varBlock->{isTopLevel} = $level == 0;
|
||||
$varBlock->{indent_loop} = [ map { { indent => $_ } } 1..$level ];
|
||||
delete $varBlock->{children};
|
||||
push @{$variables}, $varBlock;
|
||||
|
|
@ -865,20 +865,30 @@ sub www_byKeyword {
|
|||
}
|
||||
@pages = sort { lc($a->{title}) cmp lc($b->{title}) } @pages;
|
||||
my $var = {
|
||||
keyword => $keyword,
|
||||
pagesLoop => \@pages,
|
||||
};
|
||||
keyword => $keyword,
|
||||
pagesLoop => \@pages,
|
||||
canAdminister => $self->canAdminister,
|
||||
recentChangesUrl => $self->getUrl("func=recentChanges"),
|
||||
mostPopularUrl => $self->getUrl("func=mostPopular"),
|
||||
wikiHomeUrl => $self->getUrl,
|
||||
};
|
||||
$p->appendTemplateVars($var);
|
||||
if ($self->canAdminister) {
|
||||
$var->{formHeader} = WebGUI::Form::formHeader($session, {action => $self->getUrl, method => 'GET'})
|
||||
. WebGUI::Form::hidden($session, { name => 'func', value => 'subKeywordSave',})
|
||||
. WebGUI::Form::hidden($session, { name => 'thisKeyword', value => $keyword,});
|
||||
|
||||
my $subKeywords = $self->getSubKeywords($keyword);
|
||||
my $keywordHierarchy = $self->getKeywordHierarchy($subKeywords);
|
||||
$var->{keywords_loop} = $self->getKeywordVariables($keywordHierarchy);
|
||||
|
||||
if ($var->{canAdminister}) {
|
||||
$var->{formHeader} = WebGUI::Form::formHeader($session, {action => $self->getUrl})
|
||||
. WebGUI::Form::hidden($session, { name => 'func', value => 'subKeywordSave',})
|
||||
. WebGUI::Form::hidden($session, { name => 'keyword', value => $keyword,});
|
||||
my $subKeywords = join ', ', @{ $self->getSubKeywords($keyword) };
|
||||
$var->{keywordForm} = WebGUI::Form::keyword($session, {
|
||||
$var->{keywordForm} = WebGUI::Form::keywords($session, {
|
||||
name => 'subKeywords',
|
||||
value => $session->form->get('subKeywords') || $subKeywords,
|
||||
});
|
||||
$var->{formFooter} = WebGU::Form::formHeader($session);
|
||||
$var->{submitForm} = WebGUI::Form::submit($session, {});
|
||||
$var->{formFooter} = WebGUI::Form::formFooter($session);
|
||||
}
|
||||
return $self->processStyle($self->processTemplate($var, $self->get('byKeywordTemplateId')));
|
||||
}
|
||||
|
|
@ -998,7 +1008,7 @@ sub www_subKeywordSave {
|
|||
my $form = $self->session->form;
|
||||
|
||||
my $subKeywords = $form->process('subKeywords', 'keywords');
|
||||
my $keyword = $form->process('thisKeyword');
|
||||
my $keyword = $form->process('keyword');
|
||||
my @subKeywords = @{ WebGUI::Keyword::string2list($subKeywords) };
|
||||
$self->setSubKeywords($keyword, @subKeywords);
|
||||
|
||||
|
|
|
|||
|
|
@ -91,6 +91,9 @@ our $HELP = {
|
|||
{ namespace => "Asset_WikiMaster",
|
||||
tag => "wiki master asset variables"
|
||||
},
|
||||
{ namespace => "Asset_WikiMaster",
|
||||
tag => "keyword page variables"
|
||||
},
|
||||
],
|
||||
variables => [
|
||||
{ 'name' => 'searchLabel',
|
||||
|
|
@ -102,26 +105,6 @@ our $HELP = {
|
|||
{ 'name' => 'recentChangesLabel variable', },
|
||||
{ 'name' => 'addPageUrl', },
|
||||
{ 'name' => 'addPageLabel', },
|
||||
{ 'name' => 'keywords_loop',
|
||||
'variables' => [
|
||||
{ 'name' => 'title',
|
||||
'description' => 'keyword title',
|
||||
},
|
||||
{ 'name' => 'url',
|
||||
'description' => 'keyword url',
|
||||
},
|
||||
{ 'name' => 'level',
|
||||
'description' => 'keyword level',
|
||||
},
|
||||
{ 'name' => 'indent_loop',
|
||||
'variables' => [
|
||||
{ 'name' => 'indent',
|
||||
'description' => 'keyword indent',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
fields => [],
|
||||
related => [],
|
||||
|
|
@ -282,11 +265,16 @@ our $HELP = {
|
|||
title => 'by keyword template title',
|
||||
body => '',
|
||||
isa => [
|
||||
{ namespace => "Asset_WikiMaster",
|
||||
tag => "keyword page variables"
|
||||
},
|
||||
{ namespace => "WebGUI",
|
||||
tag => "pagination template variables"
|
||||
},
|
||||
],
|
||||
variables => [
|
||||
{ 'name' => 'mostPopularUrl', },
|
||||
{ 'name' => 'recentChangesUrl', },
|
||||
{ name => 'keyword',
|
||||
description => 'by keyword keyword',
|
||||
},
|
||||
|
|
@ -310,6 +298,9 @@ our $HELP = {
|
|||
{ name => 'keywordForm',
|
||||
description => 'by keyword keywordForm',
|
||||
},
|
||||
{ name => 'submitForm',
|
||||
description => 'by keyword submitForm',
|
||||
},
|
||||
{ name => 'formFooter',
|
||||
description => 'by keyword formFooter',
|
||||
},
|
||||
|
|
@ -318,6 +309,43 @@ our $HELP = {
|
|||
related => [],
|
||||
},
|
||||
|
||||
'keyword page variables' => {
|
||||
title => 'keyword page variables',
|
||||
body => '',
|
||||
isa => [ ],
|
||||
private => 1,
|
||||
variables => [
|
||||
{ 'name' => 'keywords_loop',
|
||||
'variables' => [
|
||||
{ 'name' => 'title',
|
||||
'description' => 'keyword title',
|
||||
},
|
||||
{ 'name' => 'url',
|
||||
'description' => 'keyword url',
|
||||
},
|
||||
{ 'name' => 'level',
|
||||
'description' => 'keyword level',
|
||||
},
|
||||
{ 'name' => 'descendants',
|
||||
'description' => 'keyword descendants',
|
||||
},
|
||||
{ 'name' => 'isTopLevel',
|
||||
'description' => 'keyword isTopLevel',
|
||||
},
|
||||
{ 'name' => 'indent_loop',
|
||||
'variables' => [
|
||||
{ 'name' => 'indent',
|
||||
'description' => 'keyword indent',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
fields => [],
|
||||
related => [],
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -537,7 +537,7 @@ listing of pages that are related to a specific keyword?| },
|
|||
},
|
||||
|
||||
'keywords_loop' => {
|
||||
message => q{A loop containing all the top level keywords, links to their keyword pages, and all sub pages below them.},
|
||||
message => q{A loop containing all the top level keywords for this page, links to their keyword pages, and all sub pages below them.},
|
||||
lastUpdated => 0,
|
||||
context => q{Help for template variable},
|
||||
},
|
||||
|
|
@ -560,6 +560,12 @@ listing of pages that are related to a specific keyword?| },
|
|||
context => q{Help for template variable},
|
||||
},
|
||||
|
||||
'keyword descendants' => {
|
||||
message => q{The number of wiki pages that are tagged with this keyword, and all sub-keywords of this keyword.},
|
||||
lastUpdated => 0,
|
||||
context => q{Help for template variable},
|
||||
},
|
||||
|
||||
'indent_loop' => {
|
||||
message => q{A loop that runs 1 time for each level.},
|
||||
lastUpdated => 0,
|
||||
|
|
@ -626,6 +632,30 @@ listing of pages that are related to a specific keyword?| },
|
|||
context => q{Help for template variable},
|
||||
},
|
||||
|
||||
'by keyword submitForm' => {
|
||||
message => q{A button to submit the sub-keywords form.},
|
||||
lastUpdated => 0,
|
||||
context => q{Help for template variable},
|
||||
},
|
||||
|
||||
'Related Pages' => {
|
||||
message => q{Related Pages},
|
||||
lastUpdated => 0,
|
||||
context => q{template label},
|
||||
},
|
||||
|
||||
'keyword page variables' => {
|
||||
message => q{Keyword Page Variables},
|
||||
lastUpdated => 0,
|
||||
context => q{template variable help},
|
||||
},
|
||||
|
||||
'keyword isTopLevel' => {
|
||||
message => q{Whether or not the keyword is one of the keywords for the page that was called. For the Wiki Front Page, it will only include top level keywords. For a keyword page, it would be true for any sub-keywords of this page.},
|
||||
lastUpdated => 0,
|
||||
context => q{template variable help},
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue