Jump to content
xt:Commerce Community Forum
Sign in to follow this  
kingcult

staffelpreise - Mengeneinheit variabel anzeigen?

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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']));

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...