Zurück   xt:Commerce Webshop Shop Support > xt:Commerce Shopsoftware Community Area > Shopbereich

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 26.02.2005, 15:53
xt:C Sponsor
 
Registriert seit: 25.02.2005
Beiträge: 82
Standard

Gibt es eine einfache Methode Preise nur anzuzeigen, wenn sie nicht gleich Null sind ? Oder anders herum: Alle Preise, die gleich 0,00 sind ausblenden ?

Bei mir werden die meisten (aber nicht alle) Preise ?ber die Produktoptionen / Attribute festgelegt und unter der Produktbeschreibung als Tabelle angeboten. Ich habe zwar schonmal nach folgendem Tipp ...

Zitat:
Originally posted by chd@Feb 4 2005, 15:37 PM
Man kann auch den Artikelpreis auf 0.00 EUR setzen und ?ber die Attribute den richtigen Preis darstellen.
Wenn die 0.00 EUR beim Artikel nicht dargestellt werden sollen, kann man dies direkt im Template durch eine if-Schleife ausblenden.
... zwei Templates ver?ndert, so da? die 0,00 Preise im Produktlisting und in der Produkt?bersicht nicht mehr auftauchen - aber es sind ja noch so viele andere Ausgaben von 0,00 Preisen ("Neue Artikel", "K?rzlich Angesehen", "Bestseller", "Konto ?bersicht", etc.). Git's da eine einfache M?glichkeit, alle 0,00 Preise auf einen Schlag auszublenden ?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 27.02.2005, 11:32
Erfahrener Benutzer
 
Registriert seit: 11.02.2005
Beiträge: 1.956
Standard

Ich glaube, wenn du einfach das Feld Produktpreis freil?sst - also nirgends auch nicht f?r G?ste und Neukunden Preise anzeigst - dann wird gar kein Preis angezeigt.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 27.02.2005, 11:57
xt:C Sponsor
 
Registriert seit: 25.02.2005
Beiträge: 82
Standard

Zitat:
Originally posted by smedder@Feb 27 2005, 12:32 PM
Ich glaube, wenn du einfach das Feld Produktpreis freil?sst - also nirgends auch nicht f?r G?ste und Neukunden Preise anzeigst - dann wird gar kein Preis angezeigt.
Leider nicht - habe ich getestet. Wenn "nichts" drinsteht (auch nicht f?r G?ste und Neukunden) oder "0,00" drinsteht wird ?berall (also bei "Produktbeschreibung", "Neue Artikel", "K?rzlich Angesehen", "Bestseller", "Konto ?bersicht", etc.) "0,00 Eur" angezeigt
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 27.02.2005, 15:15
Erfahrener Benutzer
 
Registriert seit: 11.02.2005
Beiträge: 1.956
Standard

Dann musst du in jeden eizelnen Templateteil das etwa so machen:
(Beispiel f?r die Product_info.html)


Code:
{if $PRODUCTS_PRICE != '0'}<font size="5" color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong>{$PRODUCTS_PRICE} 
</strong></font>{/if}
Dann sollte, wenn du den Produktpreis auf 0 setzt nichts angezeigt werden und wenn er auf was anderes gesetzt ist sollte er angezeigt werden.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 04.06.2005, 19:31
Benutzerbild von s04-freak  
Registriert seit: 19.05.2005
Beiträge: 38
Standard

Hi!

Ich habe aus der Datei komplett die Preise gel?scht und h?tte jetzt gerne diese if-schleife wieder drin! Da ich jedoch kein php kann, w?r es super, wenn mir jemand meinen "falschen" Code "reparieren" k?nnte :bounce:
Zitat:

{config_load file="$language/lang_$language.conf" section="index"}
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><font color="#666666" size="4">{$CATEGORIES_NAME}</font> </font></td>
<td align="right"></td>
</tr>
</table>
{if $CATEGORIES_DESCRIPTION} <font size="1" face="Verdana, Arial, Helvetica, sans-serif">

{$CATEGORIES_DESCRIPTION}</font>
{if $CATEGORIES_IMAGE}[img]{$CATEGORIES_IMAGE}[/img]{/if}


<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="border-bottom: 1px solid; border-color: #000000;"></td>
</tr>
</table>
{/if}
{ if $MANUFACTURER_DROPDOWN}

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="main"><div align="right">{#text_show#} {$MANUFACTURER_DROPDOWN}</div></td>
</tr>
</table>


{/if}
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> <div align="center">
<table style="border-top: 2px solid; border-color: #d4d4d4;" width="100%" border="0">
{foreach name=aussen item=module_data from=$module_content}
<tr>
<td width="1" rowspan="2" style="border-bottom: 1px solid; border-color: #cccccc;">{if $module_data.PRODUCTS_IMAGE!=''}[img]{$module_data.PRODUCTS_IMAGE}[/img]{/if}
{if $module_data.PRODUCTS_FSK18=='true'}


[img]{$tpl_path}img/fsk18.gif[/img]
{/if}
</td>
<td class="main" id="productListingHeading">{$module_data.PRODUCTS_NAME}</td>
</tr>
<tr>
<td style="border-bottom: 1px solid; border-color: #cccccc;" class="main" id="productListingAttributes">{$module_data.PRODUC TS_SHORT_DESCRIPTION}


<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right"><table width="100" border="0">
<tr>
<td>{if $module_data.SHIPPING_NAME}
<table width="100" border="0" cellpadding="0" cellspacing="0">
<tr valign="middle">
<td width="50" class="main">{#text_shippingtime#}</td>
{if $module_data.SHIPPING_IMAGE}
<td width="50">[img]{$module_data.SHIPPING_IMAGE}[/img]</td>
{/if}
<td nowrap class="main">{$module_data.SHIPPING_NAME}</td>
</tr>
</table>
{/if}</td>
<td>{$module_data.BUTTON_BUY_NOW}</td>
</tr>
</table></td>
</tr>
</table>

</td>
</tr>
{/foreach}
</table>
</div></td>
</tr>
</table>


<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>{$NAVIGATION}</td>
</tr>
</table>
Das w?re echt klasse

Gr??e

s04-freak
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 05.06.2005, 13:00
Benutzerbild von s04-freak  
Registriert seit: 19.05.2005
Beiträge: 38
Standard

Hi!

Hat sich soweit erledigt!

Es ist nur so, dass er jetzt zwar alle Preise, welche ?ber 0 sind anzeigt, jedoch nicht die Sonderpreise (statt bla bla bla nun bla bla bla)

Habe folgende Schleife eingesetzt:
Zitat:

{if $module_data.PRODUCTS_PRICE!=0.00}{$module_data.PR ODUCTS_PRICE}{/if}
Gr??e
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 08.06.2005, 16:38
Benutzerbild von s04-freak  
Registriert seit: 19.05.2005
Beiträge: 38
Standard

*hochschieb*
H?tte gerne das Problem gel?st

Gr??e
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 09.06.2005, 11:28
 
Registriert seit: 04.10.2004
Beiträge: 269
Standard

Die finale L?sung ist es, die Preisformatierungsroutinen so zu modifizieren, dass sie im Falle "Preis ist null" eine leere Zeichenkette zur?ckgeben.

Dazu m?ssen die Routinen

xtc_format_price.inc.php
xtc_format_price_graduated.inc.php
xtc_format_price_order.inc.php
xtc_format_special_price.inc.php


im Verzeichnis "inc"

ge?ndert werden.

Der vorhandene Code muss eingeschlossen werden in folgenden Code:


Code:
	if (floatval($price_string) == 0)
	{
 $price_string = '';
	}
	else
	{
 XXXXXXXXXXXXXXXXXXXXXXXXXXXX
	}
Statt "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" muss dort der vorhandene Code eingebaut werden.


Im Modul xtc_format_special_price.inc.php

muss die erste Zeile lauten

Code:
	if (floatval($special_price) == 0)
	{
 $special_price = '';
	}
	else
	{
 XXXXXXXXXXXXXXXXXXXXXXXXXXXX
	}
?nderungen ohne Gew?hr. Unbedingt vorher die zu ?ndernden Routinen sichern!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 10.06.2005, 19:11
Benutzerbild von s04-freak  
Registriert seit: 19.05.2005
Beiträge: 38
Standard

Hi

Also entweder funktioniert es nicht, oder ich bin zu bl?d :i:

Habe nun folgende Codes in den Scripts:
xtc_format_price.inc.php
Zitat:

if (floatval($price_string) == 0)
{
$price_string = '';
}
else
{
if ($calculate_currencies=='true') {
$price_string=$price_string * $currencies_data['VALUE'];
}
}


// round price
xtc_format_price_gratuated.inc.php
Zitat:

if (floatval($price_string) == 0)
{
$price_string = '';
}
else
{
if ($calculate_currencies=='true') {
$price_string=$price_string * $currencies_data['VALUE'];
}
}


// add tax
xtc_format_price_order.inc.php
Zitat:

if (floatval($price_string) == 0)
{
$price_string = '';
}
else
{
$price_string=xtc_precision($price_string,$currenc ies_data['DECIMAL_PLACES']);
}
xtc_format_special_price
Zitat:

if (floatval($special_price) == 0)
{
$special_price = '';
}
else
{
if ($calculate_currencies=='true') {
$special_price=$special_price * $currencies_data['VALUE'];
$price=$price * $currencies_data['VALUE'];
}
}
// round price
Wo hocken die Fehler?

Gr??e
s04-freak
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10 (permalink)  
Alt 12.06.2005, 11:40
 
Registriert seit: 04.10.2004
Beiträge: 269
Standard

Zitat:
Originally posted by s04-freak@Jun 10 2005, 07:11 PM

xtc_format_price_gratuated.inc.php

if (floatval($price_string) == 0)
{
$price_string = '';
}
else
{
if ($calculate_currencies=='true') {
$price_string=$price_string * $currencies_data['VALUE'];
}
}

Du musst die Anweisung auch genau befolgen!

Die Function "xtc_format_price_graduated" sieht nach der ?nderung z.B. so aus:

Code:
function xtc_format_price_graduated($price_string,$price_special,$calculate_currencies,$products_tax_class)
{
	if ((int)$price_string == 0)
	{
 $price_string = '';
	}
	else
	{
 $currencies_query = xtc_db_query("SELECT symbol_left,
      symbol_right,
      decimal_places,
      decimal_point,
          	thousands_point,
      value
      FROM ". TABLE_CURRENCIES ." WHERE
      code = '".$_SESSION['currency'] ."'");
 $currencies_value=xtc_db_fetch_array($currencies_query);
 $currencies_data=array();
 $currencies_data=array(
 'SYMBOL_LEFT'=>$currencies_value['symbol_left'] ,
 'SYMBOL_RIGHT'=>$currencies_value['symbol_right'] ,
 'DECIMAL_PLACES'=>$currencies_value['decimal_places'] ,
 'VALUE'=> $currencies_value['value']);
 if ($calculate_currencies=='true') {
 	$price_string=$price_string * $currencies_data['VALUE'];
 }
 // add tax
 $products_tax=xtc_get_tax_rate($products_tax_class);
 if ($_SESSION['customers_status']['customers_status_show_price_tax'] =='0') {
 	$products_tax='';
 }
 $price_string= (xtc_add_tax($price_string,$products_tax));
 // round price
 $price_string=xtc_precision($price_string,$currencies_data['DECIMAL_PLACES']);

 if ($price_special=='1') {
 	$price_string=number_format($price_string,$currencies_data['DECIMAL_PLACES'], $currencies_data['DEC_POINT'], $currencies_data['THD_POINT']);

 	$price_string = $currencies_data['SYMBOL_LEFT']. ' '.$price_string.' '.$currencies_data['SYMBOL_RIGHT'];
 }
	}
	return $price_string;
}
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
anzeigen, null, preis

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand