[wellwell-devel] [SCM] Interchange wellwell catalog branch, master, updated. 99e63f46a7035208c55196fa43e34e900f4e2149
Stefan Hornburg
racke at rt.icdevgroup.org
Wed Mar 31 12:09:30 UTC 2010
via 99e63f46a7035208c55196fa43e34e900f4e2149 (commit)
from 9d725d76a0e0717b6fa0a926047b4b9f69b68113 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 99e63f46a7035208c55196fa43e34e900f4e2149
Author: Stefan Hornburg (Racke) <racke at linuxia.de>
Date: Wed Mar 31 14:05:08 2010 +0200
produce proper <ul>...</ul> for sublevels
-----------------------------------------------------------------------
Summary of changes and diff:
lib/WellWell/Menu.pm | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/lib/WellWell/Menu.pm b/lib/WellWell/Menu.pm
index 98231ee..8ac02be 100644
--- a/lib/WellWell/Menu.pm
+++ b/lib/WellWell/Menu.pm
@@ -70,7 +70,7 @@ sub display {
sub build_entries {
my ($entries_ref, $opt, $tree) = @_;
- my (@out, $ref, $base_url, $uri, $form, $selected);
+ my (@out, $ref, $base_url, $uri, $cur_level, $form, $selected);
if ($opt->{selected}) {
$base_url = $Vend::Session->{last_url};
@@ -79,10 +79,22 @@ sub build_entries {
if ($tree) {
$entries_ref = sort_tree_entries($entries_ref);
+ $cur_level = $entries_ref->[0]->{level};
}
-
+
for (my $i = 0; $i < @$entries_ref; $i++) {
$ref = $entries_ref->[$i];
+
+ if ($cur_level) {
+ if ($ref->{level} > $cur_level) {
+ push(@out, '<ul>');
+ }
+ elsif ($ref->{level} < $cur_level) {
+ push(@out, ('</ul>') x ($cur_level - $ref->{level}));
+ }
+
+ $cur_level = $ref->{level};
+ }
if ($ref->{url}) {
if ($opt->{selected}) {
@@ -102,12 +114,16 @@ sub build_entries {
}
$uri = Vend::Tags->area({href => $ref->{url}, form => $form});
- $out[$i] = qq{<li$selected><a href="$uri">$ref->{name}</a></li>};
+ push(@out, qq{<li$selected><a href="$uri">$ref->{name}</a></li>});
}
else {
- $out[$i] = qq{<li>$ref->{name}</li>};
+ push(@out, qq{<li>$ref->{name}</li>});
}
}
+
+ if ($cur_level > 1) {
+ push(@out, ('</ul>') x ($cur_level -1));
+ }
return q{<ul>} . join('', @out) . q{</ul>};
}
hooks/post-receive
--
Interchange wellwell catalog
More information about the wellwell-devel
mailing list