Shop Support News Archive - Shopbetreiber News -> Forum : Variationen (gewicht Mit Anzeigen)
Hallo zusammen,
bin jetzt schon seit mehreren Wochen am aufbau eines Shops. was auch sonst :-) Auf jeden Fall hänge ich mal wieder.
Wir stellen sehr viele Artikel mit Variationen ein, wo sich der Preis und das Gewnicht ändert.
So Funktioniert das erstmal Super. Jedoch wird auf der Artikel-Seite in dem Drop-Down-Menü nur der Name der Variation und der zusätzlich Preis angezeigt.
Ich benötige jedoch unbedingt das dort auch gleich das zusätzliche Gewnicht angezeigt wird. (Da die Versandkosten nach Gewnicht berechnet werden - und ja der Kunde die Möglichkeit haben muss sich die Versandkosten von der Produktseite selbst zu berechnen).
Ich würde sagen dies ändert man in der Datei:
''>ZITAT</div>\templates\template-name\module\product_options_dropdown.html[/b]
hier wiederum ist die ausschlaggebende Zeile diese:
**<option value="{$item_data.ID}">{$item_data.TEXT} {if $item_data.PRICE !='' }{$item_data.PREFIX} {$item_data.PRICE}{/if} </option>
Meiner Meinung nach müsste ich jetzt vor "</option>" das hier einfügen:
{$item_data.WEIGHT}
oder besser noch als Abfrage:
{if $item_data.WEIGHT !=''} {$item_data.WEIGHT} {/if}
Leider scheint das nicht zu funktionieren. Ich weiß hier einfach nicht mehr weiter.
Hat von euch noch jemand ein Idee?
Schon mal großen Dank an alle die sich hier mit mir den Kopf zerbrechen.
Greatz Enrico
Mohamedal_hakim
03.09.2007, 15:58
ich such mal schnell meinen hack...
so einfach ist es nicht,
musst im Core selbst erst was einstellen
dann das ganze über den Template ausrufen..
''>ZITAT(Mohamedal_hakim @ Sep 3 2007, 15:58) 32190
ich such mal schnell meinen hack...
[/b]
Bitte Bitte Bitte :wub:
Bin schon am verzweifeln :wacko:
Zwischenstand:
falls sich hier noch jemand mit mir den Kopf Zerbrnicht:
Meine oben angemerkten Änderungen dürften rnichtig sein. Ist aber der Zweite schritt.
Als erstes müsste meiner Meinung nach diese Datei geändert werden:
''>ZITAT</div>\includes\modules\product_attributes.php[/b]
hier geht es wiederum um diesen Code:
while ($products_options = xtc_db_fetch_array($products_options_query,true)) {
************$price = '';
************if ($_SESSION['customers_status']['customers_status_show_price'] == '0') {
****************$products_options_data[$row]['DATA'][$col] = array ('ID' => $products_options['products_options_values_id'], 'TEXT' => $products_options['products_options_values_name'], 'MODEL' => $products_options['attributes_model'], 'PRICE' => '', 'FULL_PRICE' => '', 'PREFIX' => $products_options['price_prefix']);
************} else {
****************if ($products_options['options_values_price'] != '0.00') {
********************$price = $xtPrice->xtcFormat($products_options['options_values_price'], false, $product->data['products_tax_class_id']);
****************}
****************$products_price = $xtPrice->xtcGetPrice($product->data['products_id'], $format = false, 1, $product->data['products_tax_class_id'], $product->data['products_price']);
****************if ($_SESSION['customers_status']['customers_status_discount_attributes'] == 1 && $products_options['price_prefix'] == '+')
********************$price -= $price / 100 $discount;
********************
********************$attr_price=$price;
********************if ($products_options['price_prefix']=="-") $attr_price=$price (-1);
********************$full = $products_price + $attr_price;
****************$products_options_data[$row]['DATA'][$col] = array ('ID' => $products_options['products_options_values_id'], 'TEXT' => $products_options['products_options_values_name'], 'MODEL' => $products_options['attributes_model'], 'PRICE' => $xtPrice->xtcFormat($price, true), 'FULL_PRICE' => $xtPrice->xtcFormat($full, true), 'PREFIX' => $products_options['price_prefix']);
****************//if PRICE for option is 0 we don't need to display it
****************if ($price == 0) {
********************unset ($products_options_data[$row]['DATA'][$col]['PRICE']);
********************unset ($products_options_data[$row]['DATA'][$col]['PREFIX']);
Jetzt geht es noch darum das rnichtige -> an der rnichtigen stelle ein zu setzen
Und für mich als PHP-Neuling (seit ca. 2-3 Tagen) bereitet das doch ganz gute Kopfschmerzen.
Hilfe wird somit gerne angenommen :rolleyes:
Greatz Boarder
OK was eingefügt werden muss dürfte das hier sein:
'WEIGHT' => $products_attributes['options_values_weight']
Jetzt bleibt noch die Frage wo es genau eingefügt werden muss ^_^
nachtrag -> bin mir doch nicht mehr so sicher das nur bzw. überhaupt das rnichtige ist was eingefügt werden muss.
Vielenicht gibt es ja hier doch jemand der mir Helfen möchte? Langsam aber sicher komme ich einfach nicht weiter mit der Sache.
OK ich hab es!!!!! JIPPPIIIIEEE
Und nach dem mir "so viele" von euch geholfen haben (wie man an den Unmengen an Antworten sieht) hier wie es geht:
''>ZITAT</div>\includes\modules\product_attributes.php[/b]
Als erstes müssen wir XTC die Zuordnung des Produktes zu dem Gewnicht (bzw. Vorzeichen) klar machen. Dies geschieht über die ID und eine Verknüpfung in products_options_query.
Was man einfach mit 2 Zeilen nachträgt: (das "EINFUEGN --->" weg lassen !!!!!)
$products_options_data[$row] = array ('NAME' => $products_options_name['products_options_name'], 'ID' => $products_options_name['products_options_id'], 'DATA' => '');
********$products_options_query = xtDBquery("select pov.products_options_values_id,
************************************************** ****** pov.products_options_values_name,
************************************************** ****** pa.attributes_model,
************************************************** ****** pa.options_values_price,
************************************************** ****** pa.price_prefix,
EINFUEGEN------------------------------>****************pa.options_values_weight,
EINFUEGEN------------------------------>****************pa.weight_prefix,
************************************************** ****** pa.attributes_stock,
************************************************** ****** pa.attributes_model
************************************************** ****** from ".TABLE_PRODUCTS_ATTRIBUTES." pa,
************************************************** ****** ".TABLE_PRODUCTS_OPTIONS_VALUES." pov
************************************************** ****** where pa.products_id = '".$product->data['products_id']."'
************************************************** ****** and pa.options_id = '".$products_options_name['products_options_id']."'
So nachdem XTC weiß das es ein Gewnicht und ein Gewnichtsvorzeichen gibt müssen wir noch 2 neue Barameter erzeugen den das HTML-Dokument abfragen kann:
weiter unten findet Ihr diesen Code:
********************if ($products_options['price_prefix']=="-") $attr_price=$price (-1);
********************$full = $products_price + $attr_price;
****************$products_options_data[$row]['DATA'][$col] = array ('ID' => $products_options['products_options_values_id'], 'TEXT' => $products_options['products_options_values_name'], 'MODEL' => $products_options['attributes_model'], 'PRICE' => $xtPrice->xtcFormat($price, true), 'FULL_PRICE' => $xtPrice->xtcFormat($full, true) , 'PREFIX' => $products_options['price_prefix']);
dies ergänzt ihr nach
''>ZITAT</div>'PREFIX' => $products_options['price_prefix'][/b]
aber vor
''>ZITAT</div>);[/b]
mit:
, 'WEIGHT_PREFIX' => $products_options['weight_prefix'], 'WEIGHT' => $products_options['options_values_weight']
ACHTUNG: das Komma nicht vergessen !!!
Jetzt wechseln wir zur Datei:
''>ZITAT</div>\templetes\dein-template\module\product_options\product_options_dr opdown.html[/b]
wo wir der HTML-Datei noch sagen müssen das es da ja 2 neue Barameter gibt die es abfragen kann.
Dies geschieht in dieser Codezeile:
<option value="{$item_data.ID}">{$item_data.TEXT} {if $item_data.PRICE !='' }{$item_data.PREFIX} {$item_data.PRICE}{/if} </option>
Hier fügen wir jetzt vor </options> das hier ein:
{if ($item_data.WEIGHT != 0)} {$item_data.WEIGHT_PREFIX} {$item_data.WEIGHT}kg {/if}
(hab gleich eine Abfrage daraus gemacht -> d.h. wenn das gewnicht NICHT GLEICH 0 ist wird es ausgegeben mit Vorzeichen, ansonsten eben nicht)
Jetzt müsst Ihr noch alle Dateien bis auf die index.html unter:
''>ZITAT</div>/templates_c[/b]
löschen. (Das sind nur die Temporäre Datei von XTC)
FERTIG !!!
Für die Rnichtigkeit übernehme ich natürlich keine Gewähr (bei mir funktioniert es :D )
Greatz Boarder
VIELEN DANK FÜR DEINE ARBEIT UND HILFE! :)
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.