[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