Hallo zusammen,
habe gestern an der "shipping.html" gebaut und eine Teillösung erarbeitet.
<h1>{$data.content_heading}</h1>
{$message}
<p>{if $file}{$file}{else}{$data.content_body}{/if}</p>
<!-- Zeigt Auswahlbox für Länderwahl zur Versandkostenberechnung -->
<div class="highlightbox">
{form type=form name=shipping action='dynamic' link_params=getParams method=post}
{form type=hidden name=action value=query}
<p>{txt key=TEXT_SHIPPING_INTRO}</p>
<table width="100" border="0" cellspacing="4" cellpadding="0">
<tr>
<td style="white-space:nowrap;"><strong>{txt key=TEXT_COUNTRY}</strong> </td>
<td>
{if $sel_country}
{form type=select name=shipping_destination value=$country_data default=$sel_country}
{else}
{form type=select name=shipping_destination value=$country_data default=$smarty.const._STORE_COUNTRY}
{/if}
</td>
<td>{button text=$smarty.const.BUTTON_SHOW file='show.gif' type='form'}</td>
</tr>
</table>
{form type=formend}
</div>
{if $shipping_data}
<br />
{foreach item=shipping_values from=$shipping_data}
<h2>{$shipping_values.shipping_name}</h2>
<table class="tabledetails" width="100%" border="0" cellspacing="0" cellpadding="4">
<tr class="headerrow">
<td class="left">{txt key=TEXT_RANGE_STAFFEL}</td>
<td class="right">{txt key=TEXT_TOTAL_PRICE} {if $shipping_values.shipping_type eq 'item'}{txt key=TEXT_TYPE_PER_ITEM}{/if}</td>
</tr>
{foreach name=shipping item=costs from=$shipping_values.costs}
<tr class="{cycle values="contentrow1,contentrow2"}">
<td class="left">
<!-- prüfen, ob letzter Versandkostensatz erreicht ist -->
{if $smarty.foreach.shipping.last eq true}
<!-- wenn ja nachfolgende Anzeige -->
{if $costs.shipping_type_value_to eq '<span class="price"> 9.999.999,00 EUR</span>'}
{txt key=TEXT_RANGE_FROM}
{$costs.shipping_type_value_from}
{if $shipping_values.shipping_type eq 'weight'}
KG
{/if}
{if $shipping_values.shipping_type eq 'item'}
{txt key=TEXT_TYPE_ITEM}
{/if}
</td>
<!-- hier wird jetzt statt des Preises "versandkostenfrei" ausgegeben, wenn beim Versandpreis "bis" 9.999.999,00 eingetragen ist -->
<td class="right">versandkostenfrei</td>
</tr>
{else}
{txt key=TEXT_RANGE_FROM}
{$costs.shipping_type_value_from}
{if $shipping_values.shipping_type eq 'weight'}
KG
{/if}
{if $shipping_values.shipping_type eq 'item'}
{txt key=TEXT_TYPE_ITEM}
{/if}
</td>
<!-- sonst wird "kein Versand ausgegeben -->
<td class="right">{txt key=TEXT_INFO_NO_SHIPPING}</td>
</tr>
{/if}
{else}
<!-- andernfalls folgende Standard-Darstellung -->
{if $costs.shipping_type_value_from neq '0'}
{txt key=TEXT_RANGE_FROM}
{$costs.shipping_type_value_from}
{/if}
{txt key=TEXT_RANGE_TO}
{$costs.shipping_type_value_to}
{if $shipping_values.shipping_type eq 'weight'}
KG
{/if}
{if $shipping_values.shipping_type eq 'item'}
{txt key=TEXT_TYPE_ITEM}
{/if}
</td>
<td class="right">{$costs.shipping_price}</td>
</tr>
{/if}
{/foreach}
</table>
{/foreach}
{/if}
Das Ganze sieht dann so aus:
Liefer- und Versandkosten
Dabei wird jetzt beim letzten Versandpreis - Satz nur noch ausgegeben:
"Über xxx EUR versandkostenfrei".
Allerdings bin ich jetzt auf ein neues Problem gestossen, was ich nicht zu lösen vermag:
Da ich die zusätzliche Option eingebaut habe, dass ab einem Warenwert xxx EUR "kein Versand" beim letzten Satz angezeigt wird, würde ich gerne in der Admin-Oberfläche diesen Versandpreis auf "kein Versand erlaubt" setzen.
Mache ich das, dann verschwinden aus der Ansicht ALLE Versandpreise zur Versandart.
Sobald ich also den letzten Versandpreis auf "kein Versand erlaubt" setze, werden die KEINE Variablen der Versandart mehr befüllt. Damit sind keine Versandpreise mehr in der Übersicht und man die Versandart als Ganzes nicht mehr bei der Bestellung auswerten.....
Hat hierzu jemand eine Idee? Scheint mir ein Bug zu sein, da ich doch nur einen Versandpreis deaktiviere....die anderen müssten doch noch gezeigt werden?
Gruß
reutli