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

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    am: 16. Mai 2009, 21:52:22
    Hallo zusammen,

    folgendes Problem bei der Preisanzeige mit Varianten würde ich gerne lösen - schaffe es aber nicht.

    Sobalt mann einen Artikel mit Varianten anlegt kommt immer die Preisanzeige "ab xx,xx EUR" obwohl kein Preis (also 0) bei der Variante hinterlegt ist.

    Kann mann das mit einer if Abfrage irgend wie lösen, das das aber nur dann kommt wenn eine Variante größer als 0 ist?

    bei den HTML-Vorlagen findet mann nur {&PRODUCTS_PRICE} wo ist den das hinterlegt das mann dort eine if abfrage einfügen könnte und wie müsste diese den ausschauen.

    finde es aus Kundensicht störend wenn da Preis ab steht und bei 10 Farben wenn mann sich eine aussucht ändert sich der Preis nicht.

    Bitte um Hilfe

    besten Dank im vorraus

    lg Stefan



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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Preisanzeige bei Varianten
    Antwort #1 am: 16. Mai 2009, 22:06:09
    Änder doch einfach die /lang/german/german.php wie folgt ab:

    define('FROM','Ab'); und ändere es in define('FROM','');

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    Antwort #2 am: 17. Mai 2009, 07:08:45
    Hi Tomcraft,

    danke für die Info, aber das ab soll nicht verschwinden sondern nur nicht da sein wenn keine Preisänderung duch eine Varainate vorkommt.

    Der Ab-Preis ist schon Ok - habe solche Artikel ja - aber auch weider solche wo ich Varianten habe und sich der Preis aber nicht ändert.

    Mit deiner Lösung ist das Ab allgemein weg.

    Trotzdem besten Dank.

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    Antwort #3 am: 17. Mai 2009, 07:14:22
    In welcher Datei wird festgelegt was {&PRODUCTS_PRICE} bewirkt.

    Da muss ja irgend wo was stehen zb.:

    PRODUCTS_PRICE  = FROM [DB Gesamtpreis] oder so irgend wie.

    Und ich habe mir das so gedacht das mann für FROM eine if-Schleife bastelt die abfrägt ob eine Variante einen Preis hat oder nicht und somit definiert wann und ob ab Preis steht oder nicht. Keine Ahnung wie mann so etwas macht. Aber vieleicht kann das ja jemand und dabei helfen.

    lg

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Preisanzeige bei Varianten
    Antwort #4 am: 17. Mai 2009, 10:46:48
    mhhhhh... eine einfache Lösung dazu fällt mir jetzt spontan nicht ein. Ich kenne ehrlich gesgat den shop gar nicht anders als mit dem "Ab" davor auch bei Artileln OHNE Verianten!

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Preisanzeige bei Varianten
    Antwort #5 am: 17. Mai 2009, 15:48:25
    Suche auch schon seit längerem nach einer sauberen Lösung das "ab" wegzubekommen, sofern es keine Artikeloptionen bei dem Artikel gibt :(

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    Antwort #6 am: 17. Mai 2009, 17:04:13
    Also Artikeloptionen gibt es ja - aber keinen Auf- oder Abschlag. Sonst passt es ja. Ich finde es nur verwirrend wenn es einen Artikel in 3 Farben zum gleich Preis gibt.
    Sicherlich ist es interessant den Artikel eventuell aus SEO sicht 3x einzustellen aber im Textilbereich würde das den Rahmen sprengen deswegen die Varianten.

    Und es passt ja auch wunderbar aber es verwirrt eben wenn es nur einen Preis gibt.

    Wo findet mann den die devination von {&PRODUCTS_PRICE} ???? dann hätte mann da ja mal einen ansatz für die Produktseite dann könnte man da ja ein eigenes Layout zb.: mit {&PRODUCTS_PRICE2} anlegten ohne den ab Preis.

    für die Artikel-Liste (bei den Kategorien) wäre es warscheintlich schwärer. Aber meine Kenntnisse in PHP und HTML reichen eben nicht für so etwas komplexes.

    Würde gerne bei eineer Lösung mithelfen soweit ich kann. Interessant wäre mal die Datei wo der Preis zustandekommt für das {&PRODUCTS_PRICE} kann ich nicht finden.

    lg

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Preisanzeige bei Varianten
    Antwort #7 am: 18. Mai 2009, 19:52:33
    Also das mit den "ab" Preisen ist keine einfache Geschichte.
    Hab mich gerade nochmal etwas eingelesen bzw. nach einer Lösung gesucht.
    Bin dann dort gelandet und da ist der 40. Kommentar von pufaxx interessant:
    http://www.gunnart.de/tipps-und-tricks/staffelpreise-und-xtcommerce-ab-mit-dem-niedrigsten-preis/

    Folgende Fehlverhalten von xt:Commerce sind demnach bekannt:

    1.) Wenn ein Artikel pro Kundengruppe einen eigenen Preis hat, kann auch exakt der gleiche sein, dann schreibt xt:Commerce vorsichtshalber ein "ab" hin. Also ob alle Kundengruppen den gleichen Preis haben oder nicht wird nicht geprüft.
    2.) Ein "ab" wird auch immer dann hingeschrieben, wenn es Optionen gibt auch wenn es keine Aufpreise gibt. (wie auch markies gemerkt hat)
    3.) Auch wenn man keine Optionen oder Staffelpreise bei einem Artikel verwendet, wird ein "ab" angezeigt, sofern man pro Kundengruppe einen Preis hinterlegt - auch wenn es der gleiche ist. Problem 3 ist nur Vollständigkeit, wäre normalerweise letztendlich gelöst wenn man 1+2 lösen konnte.

    Dachte zuerst evtl. kann man das über Smarty lösen, doch das wird glaube ich nichts, das Problem sitzt tiefer.
    Hier allgemein ein Beispiel, was noch für das "Ab-Problem" angepasst werden müsste, evtl. bringt das jemanden auf eine Idee

    Code: PHP  [Auswählen]
    {$artikelTitel|replace:"Fracht":"Lieferung"}
    Der Begriff "Fracht" wird mit "Lieferung" ersetzt. Ginge ähnlich auch mit ab, also "ab" mit "" ersetzen. Doch der Ansatz macht nicht nur bei Mehrsprachigkeit Probleme.

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Preisanzeige bei Varianten
    Antwort #8 am: 18. Mai 2009, 20:49:24
    Guten Abend,

    habe mal was rausgefunden, mehr bekomme ich aber gerade nicht auf die Reihe. Evtl. hat jemand von Euch die zündende Idee.

    Was ich schon mal geschafft habe ist, dass das "ab" nicht angezeigt wird, wenn:
    - In diversen Kundengruppen die gleichen Preise existieren
    - Es keine Staffelpreise gibt, d.h. keine Mengenrabatte ab z.B. 100 Stück
    - Es keine Optionen gibt
    Wirkt sich normal überall aus, wo Preise auftauchen. Auf jeden Fall in der "product_info.html" und "product_listing.html"

    Problem ist jetzt noch, wenn es Aufpreise bei den Optionen gibt fehlt das "ab" - aber in diesem Fall gehört es hin. Ursache, die Aufpreise werden nicht im Artikelpreis von Haus aus (Standard-xtc) berücksichtigt. Deshalb auch diese JavaScript-Lösung: http://www.modified-shop.org/forum/topic.php?id=661

    Problem #2 (kann man jedoch vernachlässigen): Wenn jemand für 1 Stück und z.B. 100 Stück den gleichen Preis berechnet, dann erscheint das "ab" trotzdem. Da dies in der Praxis wohl selten vorkommen wird (keinen Sinn macht) und wenn dann auch egal ist, stört mich das erstmal weniger. ;)

    In der includes/classes/xtcPrice.php habe ich die Funktion "xtcFormatSpecialGraduated" geändert. Zur Sicherheit hier als txt zum Download.

    Evtl. keine perfekte Lösung, aber bringt mich zumindest ein gutes Stück weiter. Evtl. weis jemand wie mans perfekt macht.

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    Antwort #9 am: 16. Juni 2009, 16:57:04
    Hi speedy,

    hat sich in dieser Sache wieder etwas getan - hatte in den letzten Wochen nicht so die Zeit für den Shop. Das Problem besteht bei mir immer noch.

    Lg Stefan

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Preisanzeige bei Varianten
    Antwort #10 am: 16. Juni 2009, 22:44:29
    Hallo markies,

    nö, wartete eigentlich auf Meldung von dir, was den "Modul-Kauf" angeht, der zumindest der Beschreibung nach die ultimative Lösung wäre ;)
    Für meine Zwecke hat es eigentlich mit obiger Lösung prima funktioniert.
    Doch für weitergehende Lösungen fehlt mir noch etwas das Wissen.

    Sag mal konkret, was bei dir mit meiner Lösung noch nicht funktioniert, evtl. kann dann jemand meiner Lösung noch nen Feinschliff verpassen.

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    Antwort #11 am: 17. Juni 2009, 06:45:51
    Hi,

    Modulkauf ging in die Hose, der Typ hat sich nie mehr gemeldet.

    Mehrmals angerufewn und E-Mail geschrieben aber leider nichts.

    hab deine Lösung noch nicht in dier Tat umgesetzt. Ich hätte gerne wenn es Atrubute ohne Aufschlag gibt das das Ab weg ist.

    bis am Abend.

    lg

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    Antwort #12 am: 19. Juni 2009, 12:39:55
    Hallo zusammen,

    habe durch Zufall jetzt eine Lösung für das Abproblem wie es auftritt wenn amnn Atribute bei einem Artikel aber keinen Preisaufschlag. Sobalt ein Atribut angegeben wurde Farbe oder wie auch immer stand sofort ab 10,00 bei dem Preis, auch wenn keine anderen Preise hinterlegt wurden.

    Besten Dank an Dokuman - in der neuen Anleitung V2.6 habe ich die Lösung durch zufall gefunden, als ich etwas anderes gesucht habe - funktioniert einwand frei - die Lösung besteht aus einer zusätzlichen Zeile in der xtcPrice :)

    Auszug aus der Doku:

    Zitat
    9.16 Bei den Preisauszeichnungen das Ab entfernen

    Es kann passieren, dass aus unterschiedlichsten Gründen plötzlich ein žab vor dem jeweiligen Preis steht, obwohl man keine Staffelpreise verwendet.
    Für eine komplette Deaktivierung des Mechanismus, kann in der Datei /lang/german/german.php (analog in der Datei /lang/english/english.php) folgendes geändert werden:

    Code: PHP  [Auswählen]
    define('FROM','Ab ');

    abändern in:

    Code: PHP  [Auswählen]
    define('FROM','');

    Alternative #1:
    Es gibt bei Staffelpreisen aber auch die Möglichkeit, die SELECT-Abfrage in der Datei žincludes/classes/xtcPrice.php zu erweitern. Die Datenbank-Abfrage wurde um die Bedingung žPreis der Option größer 0" erweitert. Nur wenn es unterschiedliche Preise gibt, wird noch ein ab angezeigt.

    die Zeile (ca 287):

    Code: PHP  [Auswählen]
    $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']."' ";

    gegen diese Zeile ersetzen:

    Code: PHP  [Auswählen]
    $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']."'
    and patrib.options_values_price> 0"
    ;

    Alternative #2:

    Sollte es bei einigen Artikeln aber doch zu einer Preisänderung kommen (Staffelpreise, Attributtaufpreis usw.), kann das Ab unter Umständen wieder erscheinen. Hierzu ändert man in der Datei includes/classes/xtc_Price.php
    die Zeile (ca.283-292):

    Code: PHP  [Auswählen]
    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']."' and patrib.
    options_values_price> 0"
    ;
    $products_attributes = xtDBquery($products_attributes_query);
    $products_attributes = xtc_db_fetch_array($products_attributes, true);
    if ($products_attributes['total']> 0)
    return ' '.strtolower(FROM).' ';
    }

    Ändern in

    Code: PHP  [Auswählen]
    function checkAttributes($pID) {
    if (!$this->showFrom_Attributes) return;
    if ($pID == 0) return;
    $products_attributes_query = "select patrib.options_values_price as atrib_price from
    "
    .TABLE_PRODUCTS_ATTRIBUTES." patrib, ".TABLE_PRODUCTS_OPTIONS." popt where patrib.
    products_id='"
    .$pID."' and patrib.options_id = popt.products_options_id and popt.language_id =
    '"
    .(int) $_SESSION['languages_id']."'";
    $products_attributes_query = xtDBquery($products_attributes_query);
    $price_from_valid = false;
    while ($atrib_prices = xtc_db_fetch_array($products_attributes_query, true)) {
    if ($atrib_prices['atrib_price']!=0) {
    $price_from_valid = true;
    break;
    }
    }
    if ($price_from_valid) {
    return ' '.strtolower(FROM).' ';
    }
    else {
    return;
    }
    }
     

    Bei uns im Shop funktioniert es einwandfrei.
    anzusehen unter www.preiswert-rentabel.com/shop
    am besten bei den Polos oder T-Shirt schauen

    lg aus der grünen Stmk.

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Preisanzeige bei Varianten
    Antwort #13 am: 19. Juni 2009, 20:12:25
    Hallo markies,

    vielen Dank für deinen Tipp.

    Bei mir wollte Alternative 1 alleine oder in Kombination mit Alternative 2 nicht funktionieren.
    Das "ab" ist noch immer da.
    Es handelt sich um einen Artikel mit lediglich verschiendenen Optionen Farben / Größen.
    Alle Optionen ohne Aufpreise o.ä.
    Staffelpreise gibt es in dem Fall nicht, nur verschiedenen Preise für verschiedenen Kundengruppen.

    Bin erstmal bei meiner Version siehe oben geblieben, die funktionierte bislang am Besten.
    Kannst uns ja mal deine xtcPrice.php hochladen, glaub aber ned, dass beim Einbau was schiefgelaufen ist.

    @Team, mir ist noch was in der xtcPrice.php vom Trunk 100 aufgefallen.
    Dort gibt es folgende Stelle:

    Code: PHP  [Auswählen]
    .' <br /><small>Einzelpreis: '
    .$this->xtcFormat($sPrice, $format)
    .'</small>';
     
    Ich würde folgendes vorschlagen, damit der "Einzelpreis" nicht hardcoded ist und damit man den Einzelpreis schön nach belieben formatieren kann.

    Code: PHP  [Auswählen]
    .' <br /><span class="prodPriceInfo1_small">'.TEXT_UNIT_PRICE
    .$this->xtcFormat($sPrice, $format)
    .'</span>';
     
    Man muss aber dann noch was in die z.B. lang/german/german.php einfügen:

    Code: PHP  [Auswählen]
    define('TEXT_UNIT_PRICE','Einzelpreis: ');
     
    Zusätzlich dann noch in die CSS-Stylesheet Datei folgendes:

    Code: PHP  [Auswählen]
    .prodPriceInfo1_small {
      text-align: right;
      font-size: 0.8em;
      font-weight: bold;
    }
     

    markies

    • Mitglied
    • Beiträge: 102
    Preisanzeige bei Varianten
    Antwort #14 am: 19. Juni 2009, 20:41:25
    Hi,

    hmm, bei mir hat es auf anhieb funktioniert - deine Variante habe ich noch nicht probiert gehabt.

    5 Antworten
    3121 Aufrufe
    10. April 2012, 15:53:21 von xeron
    2 Antworten
    2366 Aufrufe
    08. Juli 2012, 01:46:26 von yorgey
    3 Antworten
    2914 Aufrufe
    09. August 2013, 09:34:43 von piru