Jump to content
xt:Commerce Community Forum

staffelpreise - Mengeneinheit variabel anzeigen?


kingcult

Recommended Posts

Hallo,

um mein Problem mit den Staffelpreisen zu beschreiben, poste ich einmal den IST-Zustand:

1-4 Stk. je 1,15 EUR

5-29 Stk. je 1,15 EUR

30-99 Stk. je 0,89 EUR

Jetzt muss ich es aber hinbekommen, dass es so ausschaut:

ab 5 Eimer je 1,15 EUR

ab 30 Eimer je 0,89 EUR

oder bei einem anderen Produkt:

ab 5 Hosen je 1,15 EUR

ab 30 Hosen je 0,89 EUR

Wie Ihr seht, müsste ich die Einheit "Stk." variabel haben. Da ich die VPE nicht nutze, wäre es ja perfekt, wenn er sich an dieser Stelle die ausgewählte VPE ziehen würde. Alternativ würde ich aber auch für jede Einheit ein eigenes product_info Template erstellen wenns anders nicht geht. Zur Zeit zieht sich das System die "Stk." aus der module/graduated_price.html #unit# Variable. Nur wie bekomme ich diese je nach Produkt unterschiedlich hin?

Dann noch das Problem mit der ersten Zeile, in meinem Beispiel 1>4 Stk., die muss komplett verschwinden.

Hat jemand einen Tipp für mich, oder ähnliches Problem schonmal gelöst???

Laura

Link to comment
Share on other sites

Hi Laura,

da ersetzt Du in der includes/classes/products.php die Funktion getGraduated mit


 function getGraduated() {

  global $xtPrice;

  $staffel_query = xtDBquery("SELECT

                                         quantity,

                                         personal_offer

                                         FROM

                                         ".TABLE_PERSONAL_OFFERS_BY.(int) $_SESSION['customers_status']['customers_status_id']."

                                         WHERE

                                         products_id = '".$this->pID."'

                                         ORDER BY quantity ASC");

  $staffel = array ();

  while ($staffel_values = xtc_db_fetch_array($staffel_query, true)) {

   $staffel[] = array ('stk' => $staffel_values['quantity'], 'price' => $staffel_values['personal_offer']);

  }

  $staffel_data = array ();

  for ($i = 0, $n = sizeof($staffel); $i < $n; $i ++) {

   $staffel_data[$i] = array ('QUANTITY' => $staffel[$i]['stk'], 'VPE' => xtc_get_vpe_name($product_info['products_vpe'], 'PRICE' => $xtPrice->xtcFormat($staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount, true, $this->data['products_tax_class_id']));

  }

  return $staffel_data;

 }

und die templates/xtc4/module/graduated_price.html mit

{config_load file="$language/lang_$language.conf" section="graduated_price"} 

<table width="100%" border="0">

  <tr> 

    <td colspan="2" class="infoBoxHeading"><div align="center">{#heading_text#}</div></td>

  </tr>

  {foreach name=aussen item=module_data from=$module_content} 

  <tr> 

    <td class="main" nowrap="nowrap" valign="top">{#from#} {$module_data.QUANTITY} {$module_data.VPE} {#each#} {$module_data.PRICE}</td>

  </tr>

  {/foreach}

</table>

Dann noch die Sprachvariablen "from" und "each" setzen, und Du solltest das gewünschte Ergebnis erhalten.

(ist jedoch ungetestet)

Ben

Link to comment
Share on other sites

  • 4 weeks later...

Leider Fehlermeldung:

Parse error: parse error, unexpected T_DOUBLE_ARROW in /html/XXXX/includes/classes/product.php on line 313

Zeile

$staffel_data[$i] = array ('QUANTITY' => $staffel[$i]['stk'], 'VPE' => xtc_get_vpe_name($product_info['products_vpe'], 'PRICE' => $xtPrice->xtcFormat($staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount, true, $this->data['products_tax_class_id']));
Link to comment
Share on other sites

Hi Laura,

da ersetzt Du in der includes/classes/products.php die Funktion getGraduated mit


 function getGraduated() {

  global $xtPrice;

  $staffel_query = xtDBquery("SELECT

                                         quantity,

                                         personal_offer

                                         FROM

                                         ".TABLE_PERSONAL_OFFERS_BY.(int) $_SESSION['customers_status']['customers_status_id']."

                                         WHERE

                                         products_id = '".$this->pID."'

                                         ORDER BY quantity ASC");

  $staffel = array ();

  while ($staffel_values = xtc_db_fetch_array($staffel_query, true)) {

   $staffel[] = array ('stk' => $staffel_values['quantity'], 'price' => $staffel_values['personal_offer']);

  }

  $staffel_data = array ();

  for ($i = 0, $n = sizeof($staffel); $i < $n; $i ++) {

   $staffel_data[$i] = array ('QUANTITY' => $staffel[$i]['stk'], 'VPE' => xtc_get_vpe_name($product_info['products_vpe'], 'PRICE' => $xtPrice->xtcFormat($staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount, true, $this->data['products_tax_class_id']));

  }

  return $staffel_data;

 }

und die templates/xtc4/module/graduated_price.html mit

{config_load file="$language/lang_$language.conf" section="graduated_price"} 

<table width="100%" border="0">

  <tr> 

    <td colspan="2" class="infoBoxHeading"><div align="center">{#heading_text#}</div></td>

  </tr>

  {foreach name=aussen item=module_data from=$module_content} 

  <tr> 

    <td class="main" nowrap="nowrap" valign="top">{#from#} {$module_data.QUANTITY} {$module_data.VPE} {#each#} {$module_data.PRICE}</td>

  </tr>

  {/foreach}

</table>

Dann noch die Sprachvariablen "from" und "each" setzen, und Du solltest das gewünschte Ergebnis erhalten.

(ist jedoch ungetestet)

Ben

Hallo - habe das selbe Problem wie kingcult und die Änderungen in den beiden Dateien durchgeführt. Was bedeutet "die Sprachvariablem "from" und "each" setzen - wo und was muss ich da machen? Danke für die Rückinfo

Link to comment
Share on other sites

  • 2 months later...

bei mir wird die VPE nach dieser Änderung nicht angezeigt. In der entspr. template Datei steht bei mir

{#from#} {$module_data.QUANTITY} {$module_data.VPE} {#each#} {$module_data.PRICE}

ich habe bei dem Produkt "meter" angegeben, das soll auch erscheinen. Im Moment erscheint aber nichts, auch nicht "Stck.".

Vielen Dank

Link to comment
Share on other sites

  • 10 months later...

Hallo,

gab es hierfür denn eine Lösung? Bei mir erscheinen leider auch keine Angaben (wie bei VPE angeben) bei den Staffelpreisen. Ich habe auch verschiedene Einheiten die dort erscheinen sollen, je nachdem was bei VPE im Artikel angeben wurde.

Leider weiß ich auch nicht genau was ich in den Sprachdateien mit {#from#}

{#each#} anfangen soll!

Ich hoffe ihr könnt mir da helfen! Die anderen Änderungen habe ich schon gemacht.

Gruß

Manuela

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...