Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:

Autor Thema: Staffelpreise mit Verpackungseinheit  (Gelesen 317 mal)

Offline Schreinermeister

  • Fördermitglied
  • *****
  • Beiträge: 296
  • Geschlecht: Männlich
    • Teile Beitrag
    • Selbst-schreinern.de
Staffelpreise mit Verpackungseinheit
« am: 18. Mai 2019, 22:20:02 »
Hallo zusammen,

die Staffelpreise werden aus der lang_german.conf  durch  unit = 'Stk.'  immer mit "Stk." versorgt.
[ Für Gäste sind keine Dateianhänge sichtbar ]

dadurch habe wir öfters nachfragen von verunsicherten Kunden ob bei Setverpackungen der angezeigte Preis nur für ein Stück steht.

z.B. bei Schubkastenschienen ist der angezeigte Preis für eine Garnitur, mache Kunden interpretieren durch "Stk." das der Preis für eine Schiene ist und das für einen Schubkasten zwei bestellt werden müssen.

Kann die Anzeige "Stk." durch die Verpackungseinheit, welche beim Artikel hinterlegt ist ersetzt werden?
( Ich bin auch der Meinung das im Forum schon mal gelesen zu haben, kann's leider nicht mehr finden )

Soweit ich's herausfinden konnte werden die Staffelpreise in der /includes/classes/product.php  (ab Zeile 368 ) gebildet und wie folgt übergeben.
Code: PHP  [Auswählen]
$staffel_data[$i] = array('QUANTITY' => $quantity,
                                  'PLAIN_QUANTITY' => $staffel[$i]['stk'],
                                  'FROM_QUANTITY' => GRADUATED_PRICE_MAX_VALUE,
                                  'TO_QUANTITY' => $to_quantity,
                                  'VPE' => $vpe,
                                  'PRICE' => $xtPrice->xtcFormat($Pprice, true),
                                  'PLAIN_PRICE' => $Pprice,
                                  'PRICE_NETTO' => $Nprice,
                                  'PRICE_BRUTTO' => $Bprice,
                                  );
leider ist 'VPE' nicht die benötigte Verpackungseinheit.

In der guaduated_price.html müsste dann noch {#unit#} ersetzt werden wenn eine Verpackungseinheit hinterlegt ist.

Ich traue mich da aber nicht ran  :-O
Wer kann helfen. Gerne auch gegen Bezahlung.

Gruß Chris

Linkback: https://www.modified-shop.org/forum/index.php?topic=40240.0

Offline FräuleinGarn

  • Fördermitglied
  • *****
  • Beiträge: 3.066
    • Teile Beitrag
Re: Staffelpreise mit Verpackungseinheit
« Antwort #1 am: 19. Mai 2019, 00:19:28 »
Schau mal bei Perlenscheune, da sind auch überwiegend Staffelpreise hinterlegt und Namen wie Set etc hinterlegt. Dafür hätte Timo Paul von (( Wir dulden keine kommerziellen Werbelinks - Bitte Forenregeln beachten! )) eine fertige Lösung, da er es bei uns eingebaut hat.

Wegen deines Lösungsansatzes: Es sind insgesamt mehr als 10 Dateien anzupassen, muss ja auch in den verschiedenen Boxen und der Suche etc dann richtig stehen.  ;-)

Gruß Timm

EDIT
In der Suche gehts grad nicht mehr bei mir. Da hab ich mir wohl irgendwann mal was überschrieben bei einem Shopupdate. Ging aber vorher. Muss ich mal alte Dateien vergleichen.

Offline kgd

  • Experte
  • *****
  • Beiträge: 1.635
    • Teile Beitrag
    • https://www.karsta.de
Re: Staffelpreise mit Verpackungseinheit
« Antwort #2 am: 19. Mai 2019, 11:33:01 »
@Chris

Du könntest die Datei /includes/classes/product.php erweitern (nicht updatesicher).

SUCHE:
Code: PHP  [Auswählen]
'VPE' => $vpe,

DANACH EINFÜGEN:
Code: PHP  [Auswählen]
'VPE_NAME' => xtc_get_vpe_name($this->data['products_vpe']),

Nun kannst du statt {#unit#} in der Templatedatei graduated_price.html {$module_data.VPE_NAME} verwenden und der hinterlegte Name wird eingesetzt.

-------------------------------
Willst du den VPE Namen sonst noch verwenden, lege eine neue Datei "products_vpe_name.php" mit folgendem Inhalt an und hinterlege sie in includes/modules/products

Code: PHP  [Auswählen]
<?php
/*
 * --------------------------------------------------------------------------
 * @file      products_vpe_name.php
 * @date      19.05.19
 * @modul     Verpackungseinheit
 *
 *
 * LICENSE:   Released under the GNU General Public License
 * --------------------------------------------------------------------------
 */

 
 class products_vpe_name {
    function __construct() {
        $this->code = 'products_vpe_name';
        $this->title = 'Product vpe';
        $this->description = '';
        $this->name = 'MODULE_PRODUCT_'.strtoupper($this->code);
        $this->enabled = defined($this->name.'_STATUS') && constant($this->name.'_STATUS') == 'true' ? true : false;
        $this->sort_order = defined($this->name.'_SORT_ORDER') ? constant($this->name.'_SORT_ORDER') : '';
        $this->translate();
    }

    function translate() {
        switch ($_SESSION['language_code']) {
          case 'de':
            $this->title = 'Verpackungseinheit';
            $this->description = 'products_vpe_name';
            break;
          default:
            $this->title = 'Product vpe';
            $this->description = 'products_vpe_name';
            break;
        }
    }

    function check() {
        if (!isset($this->_check)) {
            $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = '".$this->name."_STATUS'");
            $this->_check = xtc_db_num_rows($check_query);
        }
        return $this->_check;
    }

    function keys() {
        define($this->name.'_STATUS_TITLE', TEXT_DEFAULT_STATUS_TITLE);
        define($this->name.'_STATUS_DESC', TEXT_DEFAULT_STATUS_DESC);
        define($this->name.'_SORT_ORDER_TITLE', TEXT_DEFAULT_SORT_ORDER_TITLE);
        define($this->name.'_SORT_ORDER_DESC', TEXT_DEFAULT_SORT_ORDER_DESC);

        return array(
            $this->name.'_STATUS',
            $this->name.'_SORT_ORDER'
        );
    }

    function install() {
        xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('".$this->name."_STATUS', 'true','6', '1','xtc_cfg_select_option(array(\'true\', \'false\'), ', now())");
        xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('".$this->name."_SORT_ORDER', '99','6', '2', now())");
    }

    function remove() {
        xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key LIKE '".$this->name."_%'");
    }
       

   
    function buildDataArray($productData, $array) {
          global $xtPrice,$main,$PHP_SELF;

                if($array['products_vpe'] != '0'){
                        $vpe_name = xtc_get_vpe_name($array['products_vpe'], (int)$_SESSION['languages_id']);
                        $product_vpe_name = $vpe_name;
                } else {
                        $product_vpe_name = '';
                }
         
          $product_vpe_nameDataArray = array (
                        'VPE_NAME' => $product_vpe_name,
          );
       
      return $productData = array_merge($productData,$product_vpe_nameDataArray);
   }

}
 

Danach gehe in den Admin > Module > Klassenerweiterungen Module > product und installiere > Verpackungseinheit.
Nun kannst du den VPE_NAME in der Produktinfo {$VPE_NAME} und in der Produktliste {$module_data.VPE_NAME} verwenden.

BG kgd

Offline Schreinermeister

  • Fördermitglied
  • *****
  • Beiträge: 296
  • Geschlecht: Männlich
    • Teile Beitrag
    • Selbst-schreinern.de
Re: Staffelpreise mit Verpackungseinheit
« Antwort #3 am: 20. Mai 2019, 19:11:12 »
Hallo kgd

ich hab deine Erweiterung "VPE_NAME" wie beschrieben umgesetzt.  :-)
In den einzelnen Boxen ist dies bei mir nicht nötig.

Funktioniert bestens.

Für alle die es ev. umsetzen wollen zur Beachtung.

Grundpreisanzeige und Staffelpreise (VPE_NAME) im gleichen Produkt funktioniert leider nicht.
Soweit ich's bisher feststellen konnte hatte nur einen solchen Fall und hab jetzt die Staffelpreise bei diesem Artikel herausgenommen.

Danke für die Unterstützung.  :thx:

Gruß Chris

Offline FräuleinGarn

  • Fördermitglied
  • *****
  • Beiträge: 3.066
    • Teile Beitrag
Re: Staffelpreise mit Verpackungseinheit
« Antwort #4 am: 20. Mai 2019, 19:59:12 »
Moin

ich würde vor den Preis pro Stück noch "ab" setzen, um das besser unterscheidbar zu machen, warum es mehrere Preise gibt.

Was mir grad aufgefallen ist, als ich auf dein Häuschen geklickt habe, dass deine Weiterleitungen nicht funktionieren. Dadurch kann man deine Seite nicht mit http und nicht mit www aufrufen.

Gruß Timm


Teile per facebook Teile per linkedin Teile per twitter