[interchange-cvs] interchange - heins modified lib/Vend/Menu.pm
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Tue Apr 29 11:50:05 2003
User: heins
Date: 2003-04-29 15:49:22 GMT
Modified: lib/Vend Menu.pm
Log:
* Add "items" check to menu to allow showing an entry only if items are
in the cart. Works for current cart ($Vend::Items) only.
Revision Changes Path
2.26 +13 -2 interchange/lib/Vend/Menu.pm
rev 2.26, prev_rev 2.25
Index: Menu.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Menu.pm,v
retrieving revision 2.25
retrieving revision 2.26
diff -u -r2.25 -r2.26
--- Menu.pm 19 Apr 2003 18:26:10 -0000 2.25
+++ Menu.pm 29 Apr 2003 15:49:22 -0000 2.26
@@ -1,6 +1,6 @@
# Vend::Menu - Interchange menu processing routines
#
-# $Id: Menu.pm,v 2.25 2003/04/19 18:26:10 mheins Exp $
+# $Id: Menu.pm,v 2.26 2003/04/29 15:49:22 mheins Exp $
#
# Copyright (C) 2002 Mike Heins, <mike@perusion.net>
#
@@ -21,7 +21,7 @@
package Vend::Menu;
-$VERSION = substr(q$Revision: 2.25 $, 10);
+$VERSION = substr(q$Revision: 2.26 $, 10);
use Vend::Util;
use strict;
@@ -191,6 +191,17 @@
my $status = 1;
for(@$fields) {
$status = $status && (! $row->{$_} or Vend::Tags->if_mm('super'));
+ }
+ return $status;
+ },
+ items => sub {
+ my ($row, $fields) = @_;
+ return 1 if ref($fields) ne 'ARRAY';
+ my $status = 1;
+ my $nitems = scalar(@{$Vend::Items}) ? 1 : 0;
+ for(@$fields) {
+ next if ! length($row->{$_});
+ $status = $status && (! $nitems ^ $row->{$_});
}
return $status;
},