Offen xtCommerce UVP kriege ich nicht weg

meso1982

Aktives Mitglied
27. April 2008
8
0
Hallo zusammen,
ich habe das Problem das ich bei manchen Artikel im Shop UVP angezeigt bekomme, und egal was ich bei Wawi ändere oder entferne bekomme ich im Shop nicht das UVP weg.
Wenn ich bei Wawi den Händler preis ändere werden die Daten an den Shop weitergeleitet. Aber ich kriege sie nicht wieder weg.
Und es wir ein Preis angezeigt was eigentlich mit dem Artikel nicht zutun hat.

habe xt:Commerce v3.0.4 SP2.1

kann mir da einer weiterhelfen?
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    2,5 KB · Aufrufe: 9

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: xtCommerce UVP kriege ich nicht weg

Die Darstellungsform im Webshop wird bei Drittshops i.d.R. NIE über die Wawi gesteuert.
Die Darstellung des UVP wird über die Templateeinstellungen des Onlineshops beeinflusst - dort musst du ansetzen [ggf. im Template selbst ändern, vllt. aber auch im Backend nur irgendwo eine Option setzen].

Ansonsten gilt:
Wenn es Sonderpreise sind und du damit wirbst: Dann musst du den Bezugspreis angeben, auf den sich die Preisersparnis bezieht [z.B. Hersteller-UVP oder dein "alter" regulärer Preis o.ä.]. Dies hat den Hintergrund, dass damit Fantasiepreise und die darauf basierenden Fantasierabatte, welche den Kunden täuschen, unterbunden werden sollen.
 

meso1982

Aktives Mitglied
27. April 2008
8
0
AW: xtCommerce UVP kriege ich nicht weg

danke für die schnelle Antwort.
aber wenn ich bei Wawi einen Preis mein Händler einsetze dann wird es ja übernommen. leider bekomme ich das nicht mehr rückgängig.
Meinst du vielleicht die Änderung beim Template das ich xtcPrice.php ändern muss. Das habe ich nämlich mal gelesen. Habe auch versuch das zu ändern. Ich bekomme lediglich nur das UVP ausgeblendet wird aber nicht das der richtige preis wieder angezeigt wird
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: xtCommerce UVP kriege ich nicht weg

Bei dem Problem kann dir wahrscheinlich ein Servicepartner weiterhelfen...
Da ich (wie auch die meisten hier) dein Template und ggf. deine Änderungen am Connector nicht kennen, wäre alles andere mehr ein Ratespiel als ein sinnvoller Beitrag.
 

meso1982

Aktives Mitglied
27. April 2008
8
0
AW: xtCommerce UVP kriege ich nicht weg

Verstehe…

Mir hätte es eigentlich ausgeraucht das die normalen preise nur angezeigt werden. Ich denke nicht das es ein Ratespiel sein würde. Ich schicke mal hier meine _xtcPrice.php

Wenn mir da einer weiter helfen kann wäre ich sehr erfreut.



<?php


/* -----------------------------------------------------------------------------------------
$Id: xtcPrice.php 1316 2005-10-21 15:30:58Z mz $

XT-Commerce - community made shopping
Shopsoftware - Onlineshop Software ? kostengünstiges Shopsystem für Onlineshops von xt:Commerce

Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(currencies.php,v 1.15 2003/03/17); Creating Online Stores Worldwide | osCommerce
(c) 2003 nextcommerce (currencies.php,v 1.9 2003/08/17); nextcommerce.org

Released under the GNU General Public License
---------------------------------------------------------------------------------------*/

class xtcPrice {
var $currencies;

// class constructor
function xtcPrice($currency, $cGroup) {

$this->currencies = array ();
$this->cStatus = array ();
$this->actualGroup = $cGroup;
$this->actualCurr = $currency;
$this->TAX = array ();
$this-> SHIPPING = array();
$this->showFrom_Attributes = true;

// select Currencies

$currencies_query = "SELECT *
FROM
".TABLE_CURRENCIES;
$currencies_query = xtDBquery($currencies_query);
while ($currencies = xtc_db_fetch_array($currencies_query, true)) {
$this->currencies[$currencies['code']] = array ('title' => $currencies['title'], 'symbol_left' => $currencies['symbol_left'], 'symbol_right' => $currencies['symbol_right'], 'decimal_point' => $currencies['decimal_point'], 'thousands_point' => $currencies['thousands_point'], 'decimal_places' => $currencies['decimal_places'], 'value' => $currencies['value']);
}
// select Customers Status data
$customers_status_query = "SELECT *
FROM
".TABLE_CUSTOMERS_STATUS."
WHERE
customers_status_id = '".$this->actualGroup."' AND language_id = '".$_SESSION['languages_id']."'";
$customers_status_query = xtDBquery($customers_status_query);
$customers_status_value = xtc_db_fetch_array($customers_status_query, true);
$this->cStatus = array ('customers_status_id' => $this->actualGroup, 'customers_status_name' => $customers_status_value['customers_status_name'], 'customers_status_image' => $customers_status_value['customers_status_image'], 'customers_status_public' => $customers_status_value['customers_status_public'], 'customers_status_discount' => $customers_status_value['customers_status_discount'], 'customers_status_ot_discount_flag' => $customers_status_value['customers_status_ot_discount_flag'], 'customers_status_ot_discount' => $customers_status_value['customers_status_ot_discount'], 'customers_status_graduated_prices' => $customers_status_value['customers_status_graduated_prices'], 'customers_status_show_price' => $customers_status_value['customers_status_show_price'], 'customers_status_show_price_tax' => $customers_status_value['customers_status_show_price_tax'], 'customers_status_add_tax_ot' => $customers_status_value['customers_status_add_tax_ot'], 'customers_status_payment_unallowed' => $customers_status_value['customers_status_payment_unallowed'], 'customers_status_shipping_unallowed' => $customers_status_value['customers_status_shipping_unallowed'], 'customers_status_discount_attributes' => $customers_status_value['customers_status_discount_attributes'], 'customers_fsk18' => $customers_status_value['customers_fsk18'], 'customers_fsk18_display' => $customers_status_value['customers_fsk18_display']);

// prefetch tax rates for standard zone
$zones_query = xtDBquery("SELECT tax_class_id as class FROM ".TABLE_TAX_CLASS);
while ($zones_data = xtc_db_fetch_array($zones_query,true)) {

// calculate tax based on shipping or deliverey country (for downloads)
if (isset($_SESSION['billto']) && isset($_SESSION['sendto'])) {
$tax_address_query = xtc_db_query("select ab.entry_country_id, ab.entry_zone_id from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) where ab.customers_id = '" . $_SESSION['customer_id'] . "' and ab.address_book_id = '" . ($this->content_type == 'virtual' ? $_SESSION['billto'] : $_SESSION['sendto']) . "'");
$tax_address = xtc_db_fetch_array($tax_address_query);
$this->TAX[$zones_data['class']]=xtc_get_tax_rate($zones_data['class'],$tax_address['entry_country_id'], $tax_address['entry_zone_id']);
} else {
$this->TAX[$zones_data['class']]=xtc_get_tax_rate($zones_data['class']);
}


}

}

// get products Price
function xtcGetPrice($pID, $format = true, $qty, $tax_class, $pPrice, $vpeStatus = 0, $cedit_id = 0) {

// check if group is allowed to see prices
if ($this->cStatus['customers_status_show_price'] == '0')
return $this->xtcShowNote($vpeStatus, $vpeStatus);

// get Tax rate
if ($cedit_id != 0) {
$cinfo = xtc_oe_customer_infos($cedit_id);
$products_tax = xtc_get_tax_rate($tax_class, $cinfo['country_id'], $cinfo['zone_id']);
} else {
$products_tax = $this->TAX[$tax_class];
}

if ($this->cStatus['customers_status_show_price_tax'] == '0')
$products_tax = '';

// add taxes
if ($pPrice == 0)
$pPrice = $this->getPprice($pID);
$pPrice = $this->xtcAddTax($pPrice, $products_tax);

// check specialprice
if ($sPrice = $this->xtcCheckSpecial($pID))
return $this->xtcFormatSpecial($pID, $this->xtcAddTax($sPrice, $products_tax), $pPrice, $format, $vpeStatus);

// check graduated
if ($this->cStatus['customers_status_graduated_prices'] == '1') {
if ($sPrice = $this->xtcGetGraduatedPrice($pID, $qty))
return $this->xtcFormatSpecialGraduated($pID, $this->xtcAddTax($sPrice, $products_tax), $pPrice, $format, $vpeStatus, $pID);
} else {
// check Group Price
if ($sPrice = $this->xtcGetGroupPrice($pID, 1))
return $this->xtcFormatSpecialGraduated($pID, $this->xtcAddTax($sPrice, $products_tax), $pPrice, $format, $vpeStatus, $pID);
}

// check Product Discount
if ($discount = $this->xtcCheckDiscount($pID))
return $this->xtcFormatSpecialDiscount($pID, $discount, $pPrice, $format, $vpeStatus);

return $this->xtcFormat($pPrice, $format, 0, false, $vpeStatus, $pID);

}

function getPprice($pID) {
$pQuery = "SELECT products_price FROM ".TABLE_PRODUCTS." WHERE products_id='".$pID."'";
$pQuery = xtDBquery($pQuery);
$pData = xtc_db_fetch_array($pQuery, true);
return $pData['products_price'];


}

function xtcAddTax($price, $tax) {
$price = $price + $price / 100 * $tax;
$price = $this->xtcCalculateCurr($price);
return round($price, $this->currencies[$this->actualCurr]['decimal_places']);
}

function xtcCheckDiscount($pID) {

// check if group got discount
if ($this->cStatus['customers_status_discount'] != '0.00') {

$discount_query = "SELECT products_discount_allowed FROM ".TABLE_PRODUCTS." WHERE products_id = '".$pID."'";
$discount_query = xtDBquery($discount_query);
$dData = xtc_db_fetch_array($discount_query, true);

$discount = $dData['products_discount_allowed'];
if ($this->cStatus['customers_status_discount'] < $discount)
$discount = $this->cStatus['customers_status_discount'];
if ($discount == '0.00')
return false;
return $discount;

}
return false;
}

function xtcGetGraduatedPrice($pID, $qty) {
if (GRADUATED_ASSIGN == 'true')
if (xtc_get_qty($pID) > $qty)
$qty = xtc_get_qty($pID);
//if (!is_int($this->cStatus['customers_status_id']) && $this->cStatus['customers_status_id']!=0) $this->cStatus['customers_status_id'] = DEFAULT_CUSTOMERS_STATUS_ID_GUEST;
$graduated_price_query = "SELECT max(quantity) as qty
FROM ".TABLE_PERSONAL_OFFERS_BY.$this->actualGroup."
WHERE products_id='".$pID."'
AND quantity<='".$qty."'";
$graduated_price_query = xtDBquery($graduated_price_query);
$graduated_price_data = xtc_db_fetch_array($graduated_price_query, true);
if ($graduated_price_data['qty']) {
$graduated_price_query = "SELECT personal_offer
FROM ".TABLE_PERSONAL_OFFERS_BY.$this->actualGroup."
WHERE products_id='".$pID."'
AND quantity='".$graduated_price_data['qty']."'";
$graduated_price_query = xtDBquery($graduated_price_query);
$graduated_price_data = xtc_db_fetch_array($graduated_price_query, true);

$sPrice = $graduated_price_data['personal_offer'];
if ($sPrice != 0.00)
return $sPrice;
} else {
return;
}

}

function xtcGetGroupPrice($pID, $qty) {

$graduated_price_query = "SELECT max(quantity) as qty
FROM ".TABLE_PERSONAL_OFFERS_BY.$this->actualGroup."
WHERE products_id='".$pID."'
AND quantity<='".$qty."'";
$graduated_price_query = xtDBquery($graduated_price_query);
$graduated_price_data = xtc_db_fetch_array($graduated_price_query, true);
if ($graduated_price_data['qty']) {
$graduated_price_query = "SELECT personal_offer
FROM ".TABLE_PERSONAL_OFFERS_BY.$this->actualGroup."
WHERE products_id='".$pID."'
AND quantity='".$graduated_price_data['qty']."'";
$graduated_price_query = xtDBquery($graduated_price_query);
$graduated_price_data = xtc_db_fetch_array($graduated_price_query, true);

$sPrice = $graduated_price_data['personal_offer'];
if ($sPrice != 0.00)
return $sPrice;
} else {
return;
}

}

function xtcGetOptionPrice($pID, $option, $value) {
$attribute_price_query = "select pd.products_discount_allowed,pd.products_tax_class_id, p.options_values_price, p.price_prefix, p.options_values_weight, p.weight_prefix from ".TABLE_PRODUCTS_ATTRIBUTES." p, ".TABLE_PRODUCTS." pd where p.products_id = '".$pID."' and p.options_id = '".$option."' and pd.products_id = p.products_id and p.options_values_id = '".$value."'";
$attribute_price_query = xtDBquery($attribute_price_query);
$attribute_price_data = xtc_db_fetch_array($attribute_price_query, true);
$dicount = 0;
if ($this->cStatus['customers_status_discount_attributes'] == 1 && $this->cStatus['customers_status_discount'] != 0.00) {
$discount = $this->cStatus['customers_status_discount'];
if ($attribute_price_data['products_discount_allowed'] < $this->cStatus['customers_status_discount'])
$discount = $attribute_price_data['products_discount_allowed'];
}
$price = $this->xtcFormat($attribute_price_data['options_values_price'], false, $attribute_price_data['products_tax_class_id']);
if ($attribute_price_data['weight_prefix'] != '+')
$attribute_price_data['options_values_weight'] *= -1;
if ($attribute_price_data['price_prefix'] == '+') {
$price = $price - $price / 100 * $discount;
} else {
$price *= -1;
}
return array ('weight' => $attribute_price_data['options_values_weight'], 'price' => $price);
}

function xtcShowNote($vpeStatus, $vpeStatus = 0) {
if ($vpeStatus == 1)
return array ('formated' => NOT_ALLOWED_TO_SEE_PRICES, 'plain' => 0);
return NOT_ALLOWED_TO_SEE_PRICES;
}

function xtcCheckSpecial($pID) {
$product_query = "select specials_new_products_price from ".TABLE_SPECIALS." where products_id = '".$pID."' and status=1";
$product_query = xtDBquery($product_query);
$product = xtc_db_fetch_array($product_query, true);

return $product['specials_new_products_price'];

}

function xtcCalculateCurr($price) {
return $this->currencies[$this->actualCurr]['value'] * $price;
}

function calcTax($price, $tax) {
return $price * $tax / 100;
}

function xtcRemoveCurr($price) {

// check if used Curr != DEFAULT curr
if (DEFAULT_CURRENCY != $this->actualCurr) {
return $price * (1 / $this->currencies[$this->actualCurr]['value']);
} else {
return $price;
}

}

function xtcRemoveTax($price, $tax) {
$price = ($price / (($tax +100) / 100));
return $price;
}

function xtcGetTax($price, $tax) {
$tax = $price - $this->xtcRemoveTax($price, $tax);
return $tax;
}

function xtcRemoveDC($price,$dc) {

$price = $price - ($price/100*$dc);

return $price;
}

function xtcGetDC($price,$dc) {

$dc = $price/100*$dc;

return $dc;
}

function checkAttributes($pID) {
if (!$this->showFrom_Attributes) return;
if ($pID == 0)
return;
$products_attributes_query = "select count(*) as total from ".TABLE_PRODUCTS_OPTIONS." popt, ".TABLE_PRODUCTS_ATTRIBUTES." patrib where patrib.products_id='".$pID."' and patrib.options_id = popt.products_options_id and popt.language_id = '".(int) $_SESSION['languages_id']."'";
$products_attributes = xtDBquery($products_attributes_query);
$products_attributes = xtc_db_fetch_array($products_attributes, true);
if ($products_attributes['total'] > 0)
return ' '.strtolower(FROM).' ';
}

function xtcCalculateCurrEx($price, $curr) {
return $price * ($this->currencies[$curr]['value'] / $this->currencies[$this->actualCurr]['value']);
}

/*
*
* Format Functions
*
*
*
*/

function xtcFormat($price, $format, $tax_class = 0, $curr = false, $vpeStatus = 0, $pID = 0) {

if ($curr)
$price = $this->xtcCalculateCurr($price);

if ($tax_class != 0) {
$products_tax = $this->TAX[$tax_class];
if ($this->cStatus['customers_status_show_price_tax'] == '0')
$products_tax = '';
$price = $this->xtcAddTax($price, $products_tax);
}

if ($format) {
$Pprice = number_format($price, $this->currencies[$this->actualCurr]['decimal_places'], $this->currencies[$this->actualCurr]['decimal_point'], $this->currencies[$this->actualCurr]['thousands_point']);
$Pprice = $this->checkAttributes($pID).$this->currencies[$this->actualCurr]['symbol_left'].' '.$Pprice.' '.$this->currencies[$this->actualCurr]['symbol_right'];
if ($vpeStatus == 0) {
return $Pprice;
} else {
return array ('formated' => $Pprice, 'plain' => $price);
}
} else {

return round($price, $this->currencies[$this->actualCurr]['decimal_places']);

}

}

function xtcFormatSpecialDiscount($pID, $discount, $pPrice, $format, $vpeStatus = 0) {
$sPrice = $pPrice - ($pPrice / 100) * $discount;
if ($format) {
$price = '<span class="productOldPrice">'.INSTEAD.$this->xtcFormat($pPrice, $format).'</span><br />'.ONLY.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format).'<br />'.YOU_SAVE.$discount.'%';
if ($vpeStatus == 0) {
return $price;
} else {
return array ('formated' => $price, 'plain' => $sPrice);
}
} else {
return round($sPrice, $this->currencies[$this->actualCurr]['decimal_places']);
}
}

function xtcFormatSpecial($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) {
if ($format) {
$price = '<span class="productOldPrice">'.INSTEAD.$this->xtcFormat($pPrice, $format).'</span><br />'.ONLY.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format);
if ($vpeStatus == 0) {
return $price;
} else {
return array ('formated' => $price, 'plain' => $sPrice);
}
} else {
return round($sPrice, $this->currencies[$this->actualCurr]['decimal_places']);
}
}

function xtcFormatSpecialGraduated($pID, $sPrice, $pPrice, $format, $vpeStatus = 0, $pID) {
if ($pPrice == 0)
return $this->xtcFormat($sPrice, $format, 0, false, $vpeStatus);
if ($discount = $this->xtcCheckDiscount($pID))
$sPrice -= $sPrice / 100 * $discount;
if ($format) {
if ($sPrice != $pPrice) {
$price = '<span class="productOldPrice">'.MSRP.$this->xtcFormat($pPrice, $format).'</span><br />'.YOUR_PRICE.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format);
} else {
$price = FROM.$this->xtcFormat($sPrice, $format);
}
if ($vpeStatus == 0) {
return $price;
} else {
return array ('formated' => $price, 'plain' => $sPrice);
}
} else {
return round($sPrice, $this->currencies[$this->actualCurr]['decimal_places']);
}
}

function get_decimal_places($code) {
return $this->currencies[$this->actualCurr]['decimal_places'];
}

}
?>
 

XYZ

Sehr aktives Mitglied
21. September 2011
2.541
10
AW: xtCommerce UVP kriege ich nicht weg

Ansonsten gilt:
Wenn es Sonderpreise sind und du damit wirbst: Dann musst du den Bezugspreis angeben, auf den sich die Preisersparnis bezieht [z.B. Hersteller-UVP oder dein "alter" regulärer Preis o.ä.]. Dies hat den Hintergrund, dass damit Fantasiepreise und die darauf basierenden Fantasierabatte, welche den Kunden täuschen, unterbunden werden sollen.

Ach Du meinst, wie es die ganzen Matratzenläden handhaben, mit Dauerrabatten, Märchensteuer gesparrt, Laggerräumung, Geschäftsauflösung und und und? ;) Sorry für Offtopic!
 

meso1982

Aktives Mitglied
27. April 2008
8
0
AW: xtCommerce UVP kriege ich nicht weg

Ach Du meinst, wie es die ganzen Matratzenläden handhaben, mit Dauerrabatten, Märchensteuer gesparrt, Laggerräumung, Geschäftsauflösung und und und? ;) Sorry für Offtopic!

leider Weiß ich nicht was damit gemeint ist aber ich möchte lediglich das die Preise ganz normal angezeigt werden.
Das Feld bei WAWI "Std. VK Netto:" soll zum Shop übermittelt werden.
im Bild das untere beispiel
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    19,5 KB · Aufrufe: 7

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: xtCommerce UVP kriege ich nicht weg

leider Weiß ich nicht was damit gemeint ist aber ich möchte lediglich das die Preise ganz normal angezeigt werden.
Das Feld bei WAWI "Std. VK Netto:" soll zum Shop übermittelt werden.
im Bild das untere beispiel

Sonderpreise sind eine schwierige Geschichte...
Die Standardpreise werden -je nach Connectoreinstellung- als VK Netto oder als VK Brutto übertragen. Das mit dem durchgestrichenen Preis sieht aber wie ein Sonderpreis aus - deshalb: Nimm dir einen Servicepartner, falls du nicht genug Ahnung davon hast, was du im Connector oder Template umstellen musst.

Denn um es kurz zu machen:
Wir wissen nicht genug über deine spezielle Konfiguration und deine Anpassungen, als dass dir hier jemand spezifisch genug weiterhelfen kann - dafür wirst du Geld in die Hand nehmen müssen!
 

poi

Sehr aktives Mitglied
25. Januar 2008
548
26
AW: xtCommerce UVP kriege ich nicht weg

Diese Preise entstehen NUR wenn im Karteiblatt Sonderpreise des Artikels eine Variabele eingegeben wurde.
Soll heißen das du mal dort nachsehen solltest, da steht bestimmt eine Variabele auf der linken Seite wie Z.B. "sonder_aktiv" und "sonder_preis" mit diesen Eingaben... (hoffe es stimmt, gerade Urlaub und keine WaWi in Reichweite).

Wir arbeiten mit xtModified und genau mit diesen Feldern, anders sind die Sonderpreise nämlich nicht übertragbar.

Hoffe ich habe das Problem richtig verstanden und es hilft...

Gruß!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Zusätzlich UVP anzeigen in Kundengruppen Templates für JTL-Shop 0

Ähnliche Themen