diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 219558f24..c9ea490a6 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -65,6 +65,7 @@ - fix: multiple matrix sharing features - fix: Fixed a bug with processing macros in rich media ads. (perlDreamer Consulting, LLC) - fix: WebGUI Auth create account can now be properly overriden + - fix: WSClient pagination variables. (perlDreamer Consulting, LLC) 7.3.8 - Fixed a template variable rewriting problem with HTML::Template::Expr diff --git a/lib/WebGUI/Asset/Wobject/WSClient.pm b/lib/WebGUI/Asset/Wobject/WSClient.pm index c13ec4de9..48bb5f6b6 100644 --- a/lib/WebGUI/Asset/Wobject/WSClient.pm +++ b/lib/WebGUI/Asset/Wobject/WSClient.pm @@ -472,11 +472,25 @@ sub view { # set pagination links if ($p) { - $p->appendTemplateVars(\%var); - for ('pagination.firstPage','pagination.lastPage','pagination.nextPage','pagination.pageList', - 'pagination.previousPage', 'pagination.pageList.upTo20', 'pagination.pageList.upTo10') { + local $_; + $p->appendTemplateVars(\%var); + ##Refer to them by name in a loop + foreach (qw/pagination.firstPage pagination.firstPageUrl + pagination.lastPage pagination.lastPageUrl + pagination.nextPage pagination.nextPageUrl + pagination.previousPage pagination.previousPageUrl + pagination.pageList pagination.pageList.upTo20 + pagination.pageList.upTo10/) { $var{$_} =~ s/\?/\?cache=$cache_key\;/g; - } + } + ##Operate on the variables directly for the loops + foreach my $templateLoop ( + @{ $var{'pagination.pageLoop'} }, + @{ $var{'pagination.pageLoop.upTo20'} }, + @{ $var{'pagination.pageLoop.upTo10'} }, + ) { + $templateLoop->{'pagination.url'} =~ s/\?/\?cache=$cache_key\;/g; + } } } else { $self->session->errorHandler->debug($i18n->get(26) . $@) if $self->get('debugMode');