Always show a shipping selector dropdown, unless there are no shipping options available.
This commit is contained in:
parent
f5ecc2f507
commit
a9578eec2c
1 changed files with 6 additions and 7 deletions
|
|
@ -1018,17 +1018,11 @@ sub www_view {
|
|||
my $ship = WebGUI::Shop::Ship->new($self->session);
|
||||
my $options = $ship->getOptions($self);
|
||||
my $numberOfOptions = scalar keys %{ $options };
|
||||
if ($numberOfOptions < 1) {
|
||||
if (! $numberOfOptions) {
|
||||
$var{shippingOptions} = '';
|
||||
$var{shippingPrice} = 0;
|
||||
$self->error($i18n->get("No shipping plugins configured"));
|
||||
}
|
||||
elsif ($numberOfOptions == 1) {
|
||||
my ($option) = keys %{ $options };
|
||||
$self->update({ shipperId => $option });
|
||||
$var{shippingPrice} = $options->{$option}->{hasPrice} ? $self->formatCurrency($options->{$option}->{price}) : '';
|
||||
$var{shippingOptions} = $options->{$option}->{label};
|
||||
}
|
||||
else {
|
||||
tie my %formOptions, 'Tie::IxHash';
|
||||
$formOptions{''} = $i18n->get('Choose a shipping method');
|
||||
|
|
@ -1039,6 +1033,11 @@ sub www_view {
|
|||
}
|
||||
}
|
||||
my $shipperId = $self->get('shipperId');
|
||||
if (!$shipperId && $numberOfOptions == 1) {
|
||||
my ($option) = keys %{ $options };
|
||||
$self->update({shipperId => $option});
|
||||
$shipperId = $option;
|
||||
}
|
||||
$var{shippingOptions} = WebGUI::Form::selectBox($session, {name=>"shipperId", options=>\%formOptions, value=>$shipperId || ''});
|
||||
if (!exists $options->{$shipperId}) {
|
||||
$self->update({shipperId => ''});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue