Trade Republic - Provisionsfrei Aktien handeln
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: Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #105 am: 12. Juni 2009, 17:20:51
    So, Fehler gefunden und das Teil läuft (fast) einwandfrei. Einbau so wie in der Anleitung beschrieben, mit der oben beschriebenen Ergänzung der onchange bzw. onclick-Aufrufe.

    Der Fehler beruht auf dem Ab in der Preiskennzeichnung. Das Java-Script macht folgendes:
    Es wandelt mit parseFloat den Preis-String in eine Zahl um. Da der String aber mit Ab beginnt, gibt ParseFloat NaN zurück (Not a Number). Damit kann man natürlich nicht weiter rechnen.

    Entfernt man in der lang/german.php das Ab, (ca. Zeile 442 - define('FROM','Ab'); ), dann funtioniert das Teil, wenigstens im Firefox und im Safari.

    Kleiner Schönheitsfehler im Opera (hier Version 9.64) wird nach dem Klick auf einen der Buttons der Bildschirm nicht neu aufgebaut. Jede Aktion, die zum Neuaufbau des Bildschirmes führt (z.B. Beim surfen mit mehreren Browser-Tabs hin- und herschalten zwischen zwei Tabs) aktualisiert das Bild und zeigt, auch Opera rechnet korrekt. grmpf ... Vielleicht weiss einer, wie man dem Opera das beibiegen kann.

    Optimal wäre jetzt eine Lösung, die in allen Bereichen der Webseite den Ab-Preis zeigt, nur auf der Detailseite mit den Optionen nicht mehr. Dort wird er dann nach den jeweiligen Einstellungen direkt berechnet.

    So siehts in meinem Testshop aus:
    http://www.guenstigerhandys.eu/xtcommerce/Handys/T-Mobile-G1-mit-Google-%238482%3B::2.html

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #106 am: 12. Juni 2009, 18:28:09
    Opera-Problem soweit eingegrenzt: Es handelt sich um den Rendering-Bug, der oft dann auftritt, wenn bestehende Inhalte geändert werden. Das Fenster ein bischen vergrößern oder verkleinern - und die Anzeige ist da.

    Ne Lösung hierfür hab ich noch nicht, vielleicht kennt jemand dieses Problem.

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #107 am: 14. Juni 2009, 15:11:47
    Lösung für den Opera Rendering Bug:

    Der Opera mag keine Ersetzungen dieser Art in Tabellen. Daher die product_info_v1.html auf tabellenfreies Layout umbauen, dann funktionierts auch im Opera.

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #108 am: 15. Juni 2009, 09:12:48
    Hallo guensi,

    weil man das nicht richtig nachvollziehen kann, wegen der ganzen post's, möchte ich dich bitten deine lösung im ganzen hier nochmals als zip zur verfügung zu stellen. ich glaube das andere mich eingeschlossen dann besser zurecht kommen ;-)

    Dank im voraus und gruß
    wolfgang

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #109 am: 15. Juni 2009, 21:42:01
    Gerne - hier die Anleitung (bis zum aktuellen Stand) nochmal ausführlich am Stück:

    Das Modul gibt bei:
    http://www.shopgestalter.com/2009/03/xtcommerce-preisaktualisierung-bei-optionswechsel.html

    Nach Anleitung einbauen, besteht aus Code-Änderungen und einem Javascript.

    Ich habe das Javascript jedoch nicht wie angegeben in die general.js kopiert, sondern als eigenständiges Script unter dem Namen updateprodprice.js in den Ordner templates/meintemplate/javascript/ gespeichert und in der general.js unter dem Aufruf für die thickbox eingebunden mit:

    Code: Javascript  [Auswählen]
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/updateprodprice.js" type="text/javascript"></script>
     
    -> folgende Änderungen sind erforderlich, damit das Teil mit der modified läuft und korrekt rechnet:

    1. Damit es überhaupt was tut, muss das Script aufgerufen werden mit einem event in den Dateien im template im Ordner module/product_options/:
    für Radiobuttons in - product_options_selection.html folgenden Code

    Code: XML  [Auswählen]
    <td class="main">
      {foreach key=key_data item=item_data from=$options_data.DATA}
      <input type="radio" alt="{$item_data.PREFIX}|{$item_data.PRICE}" name="id[{$options_data.ID}]" value="{$item_data.ID}" onclick="update_products_price()" />
      {$item_data.TEXT} {if $item_data.PRICE!=''}( {$item_data.PREFIX}{$item_data.PRICE} ){/if}<br />
    ändern in: (hier sind die Änderungen aus der Modul-Anleitung oben schon drin, ausserdem ne Anpassung dass der Text hinter dem Radio-Button nicht mehr umgebrochen wird, sowie die Ergänzung, dass nur noch der erste Radio-Button vorausgewählt wird)

    Code: XML  [Auswählen]
    <td class="main" style="white-space:nowrap">
      {foreach key=key_data name=key_data item=item_data from=$options_data.DATA}
      <input type="radio" alt="{$item_data.PREFIX}|{$item_data.PRICE}" name="id[{$options_data.ID}]" value="{$item_data.ID}" onclick="update_products_price()" {if $smarty.foreach.key_data.first}checked="checked" {/if} />
      {$item_data.TEXT} {if $item_data.PRICE!=''}( {$item_data.PREFIX}{$item_data.PRICE} ){/if}<br />
    Für die Mehrfachauswahl (select-Felder) funktioniert das Ganze ähnlich mit der Datei:
    product_options_dropdown.html - Hier muss der Code so geändert werden:
    Original:

    Code: XML  [Auswählen]
    <select name="id[{$options_data.ID}]">
      {foreach key=key_data item=item_data from=$options_data.DATA}
      <option value="{$item_data.ID}">{$item_data.TEXT} {if $item_data.PRICE !='' }{$item_data.PREFIX} {$item_data.PRICE}{/if} </option>
    Ändern in: (Auch hier sind die Änderungen der Modul-Anweisung oben schon drin)

    Code: XML  [Auswählen]
    <select name="id[{$options_data.ID}]" onchange="update_products_price();">
      {foreach key=key_data item=item_data from=$options_data.DATA}
      <option value="{$item_data.ID}" title="{$item_data.PREFIX}|{$item_data.PRICE}">{$item_data.TEXT} {if $item_data.PRICE !='' }{$item_data.PREFIX} {$item_data.PRICE}{/if} </option>
    2. Da in der Modified-Version der Preis mit einem Ab versehen wird, sobald der Artikel Optionen hat beginnt der Preis nicht mehr mit einer Zahl. Mit diesem String kann das Java-Script nicht rechnen. Diese Anpassung ist aber eigentlich sinnvoll, da der Preis ja in den Angeboten mit Optionen die Ab-Kennzeichnung haben sollte (Abmahngefahr). Erst auf der Detailseite kann man darauf verzichten, da das Script dort ja korrekt rechnet.
    Die saubere Lösung wäre:
    - entweder ein neues Smarty anlegen was statt dem Preis mit der Ab-Kennzeichnung einen formatierten Preis ohne Ab ausgibt und dieses statt {$PRODUCTS_PRICE} als Referenz für den Preis in der Detailseite product_info_v1.html verwenden.
    - oder das Java-Script so ergänzen, dass vor der Preisberechnung das Ab vor der Zahl entfernt wird.
    Für die erste Lösung hab ich zu wenig Ahnung davon, wo und wie das Smartie $products_price['formated'] erzeugt wird. (einfach $products_price['plain'] zu nehmen bringts auch nicht, da der Preis dann so ausgegeben würde: 9999.95 dazu noch ohne Währung)
    - Zur zweiten Lösung bin ich noch nicht gekommen, da ist noch etwas Bastelarbeit notwendig.

    Quick and really dirty workaround nur um zu beweisen dass das Script auch funktioniert:
    In der lang/german.php das Ab, (ca. Zeile 442 - define('FROM','Ab'); ) entfernen, dann funtioniert die Berechnung korrekt, aber damit entfernt man natürlich überall im Shop die Ab-Kennzeichnung...

    3. Nun stolpert man darüber, dass Opera nicht korrekt rechnet, weil er diese Art der Ersetzung in Tabellen nicht mag und die Berechnung erst anzeigt, wenn das Fenster z.B. ein klein wenig vergrößert oder verkleinert wird. (rendering Bug)
    Daher die product_info_v1.html für den Bereich der Optionen auf Tabellenfreies Layout umbauen:
    Original:

    Code: XML  [Auswählen]
    <div id="productinfowrap">
    <table><tr><td style="padding-right:20px;">
            {if $PRODUCTS_IMAGE!=''}

                    <a title="{$PRODUCTS_NAME}" href="{$PRODUCTS_IMAGE|replace:"info_images":"popup_images"}" class="thickbox" rel="{$PRODUCTS_ID}"><img align="left" src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME}" class="productimage" /></a>
                    {if $PRODUCTS_POPUP_LINK!=''}<div class="hrlightgrey"></div><a href="{$PRODUCTS_POPUP_LINK}" onclick="window.open(this.href); return false;">{#text_zoom#}</a>{/if}                    

            {/if}</td><td>
            <div id="productinfopricewithimages">

                            <p class="productprice"><strong>{$PRODUCTS_PRICE}</strong></p>
                            <p class="taxandshippinginfo" style="white-space:nowrap">{$PRODUCTS_TAX_INFO}{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</p>
                            {if $SHIPPING_NAME}<p class="shippingtime"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>
                            {/if}
                            {if $PRODUCTS_VPE}
                            <div class="hrlightgrey"></div>{$PRODUCTS_VPE}{/if}
                            {if $MODULE_graduated_price !=''}<div class="hrlightgrey"></div>{$MODULE_graduated_price}{/if}
                            {if $PRODUCTS_DISCOUNT!=''}<div class="hrlightgrey"></div>{$PRODUCTS_DISCOUNT}{/if}
                            {if $PRODUCTS_FSK18=='true'}<div class="hrlightgrey"></div><img src="{$tpl_path}img/fsk18.gif" alt="" style="cursor:default" />{/if}
                            {if $PRODUCTS_MODEL!=''}<div class="hrlightgrey"></div>
                            <strong>{#model#}</strong> {$PRODUCTS_MODEL}{/if}
                            {if $PRODUCTS_URL != ''}
                            <div class="hrlightgrey"></div><div style="padding-top:5px;">{$PRODUCTS_URL}</div>
                            {/if} <br />
                            <div style="margin-top:10px"></div>
                            {$PRODUCTS_PRINT}

                    {if $PRODUCTS_DATE_AVIABLE != ''}<p>{$PRODUCTS_DATE_AVIABLE}</p>{/if}
            </div>
            <div style="clear:both;"></div>
        </td></tr></table>
            {if $MODULE_product_options !=''}
            <div class="productoptions">{$MODULE_product_options}</div>{/if}
            <div class="addtobasket">
            <table border="0" cellspacing="0" cellpadding="2">
                    <tr>
                    <td style="width:100%; padding-right:5px;">{$ADD_QTY}</td>
                    <td>{$ADD_CART_BUTTON}</td>
                    </tr>
            </table>
            </div>
    Ändern in: (Auch hier sind die Änderungen der Modul-Anleitung bereits drin):

    Code: XML  [Auswählen]
    <div id="productinfowrap">
    <div style="padding-right:10px; float:left;">
            {if $PRODUCTS_IMAGE!=''}

                    <a title="{$PRODUCTS_NAME}" href="{$PRODUCTS_IMAGE|replace:"info_images":"popup_images"}" class="thickbox" rel="{$PRODUCTS_ID}"><img align="left" src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME}" class="productimage" /></a>
                    {if $PRODUCTS_POPUP_LINK!=''}<div class="hrlightgrey"></div><a href="{$PRODUCTS_POPUP_LINK}" onclick="window.open(this.href); return false;">{#text_zoom#}</a>{/if}                    

            {/if}</div>
            <div id="productinfopricewithimages" style="padding-right:20px; float:left;">
    <!-- start änderung für Preisanpassung-->
                            <p class="productprice"><strong><span id="price">{$PRODUCTS_PRICE}</span>
                                    <input type="hidden" id="base_price" value="{$PRODUCTS_BASE_PRICE}" /></strong></p>
    <!-- ende änderung für Preisanpassung-->
                            <p class="taxandshippinginfo" style="white-space:nowrap">{$PRODUCTS_TAX_INFO}<br />{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</p>
                            {if $SHIPPING_NAME}<p class="shippingtime"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>
                            {/if}
                            {if $PRODUCTS_VPE}
                            <div class="hrlightgrey"></div>{$PRODUCTS_VPE}{/if}
                            {if $MODULE_graduated_price !=''}<div class="hrlightgrey"></div>{$MODULE_graduated_price}{/if}
                            {if $PRODUCTS_DISCOUNT!=''}<div class="hrlightgrey"></div>{$PRODUCTS_DISCOUNT}{/if}
                            {if $PRODUCTS_FSK18=='true'}<div class="hrlightgrey"></div><img src="{$tpl_path}img/fsk18.gif" alt="" style="cursor:default" />{/if}
                            {if $PRODUCTS_MODEL!=''}<div class="hrlightgrey"></div>
                            <strong>{#model#}</strong> {$PRODUCTS_MODEL}{/if}
                            {if $PRODUCTS_URL != ''}
                            <div class="hrlightgrey"></div><div style="padding-top:5px;">{$PRODUCTS_URL}</div>
                            {/if} <br />
                            <div style="margin-top:10px"></div>
                            {$PRODUCTS_PRINT}

                    {if $PRODUCTS_DATE_AVIABLE != ''}<p>{$PRODUCTS_DATE_AVIABLE}</p>{/if}
            </div>
            <div style=" float:right;">
            {if $MODULE_product_options !=''}
            <div class="productoptions">{$MODULE_product_options}</div>{/if}
        </div>

            <div style="clear:both;"></div>
        </div>
            <div class="addtobasket" style="width:100%; float:right;">
            <table border="0" cellspacing="0" cellpadding="2">
                    <tr>
                    <td style="width:100%; padding-right:5px;">{$ADD_QTY}</td>
                    <td>{$ADD_CART_BUTTON}</td>
                    </tr>
            </table>
            </div>
    Nun rechnet auch der Opera sofort. Dieses Layout setzt auch gleich die Optionen rechts neben das Artikelbild und die Preisauflistung. Achtung: Dies funktioniert in meinem Template, weil meine Boxen schmäler und der Content dafür breiter ist. In einen Standard-Template wird dies dazu führen, dass die Optionen rechtsbündig unterhalb von Bild und Preis stehen werden. Das kann ja jeder an sein Template anpassen. Wer will, kann den neuen Divs auch eine ID oder besser eine class geben und diese im Stylesheet formatieren. Dann können die hier angegebenen Styles für diese Divs entfernt werden.

    So, das ist aktueller Stand.
    To Do Liste:
    - Lösung des Ab-Problems
    - Einbau einer Javascript Warnung bei ausgeschaltetem Javascript, wie in der Lösung von Christian richtigerweise eingebaut.
    - Das Sperrgut Modul von Christian benötige ich nicht, aber für die dies brauchen empfiehlt sich der Einbau (s. den Download Seite 3)

    Warum ich diese Lösung bevorzuge? Der Kunde erhält sofort den korrekt berechneten Preis. Ich finde es einfach eleganter, wenn der Kunde beim Klick auf den 'in den Warenkorb' Button den korrekten Preis oben sieht. Zudem funktioniert das auch mit mehreren Gruppen mit jeweils mehreren Optionen korrekt. Das Javascript rechnet auch mit Zuschlägen ab 1000 Euro korrekt, da das Problem mit der Preisformatierung durch zweifache Umformatierung des Preises (der tausender punkt ist die Fehlerquelle) gelöst wurde.

    Im anhängenden Zip findet Ihr folgende Dateien - Verwendung auf eigene Gefahr - Backup nicht vergessen:
    - product_info_v1.html
    - product_options_dropdown.html
    - product_options_selection.html

    Ach ja wer vorher sehen will wie's aussieht - hier der Link zu meinem Testshop:
    http://www.guenstigerhandys.eu/xtcommerce/Handys/T-Mobile-G1-mit-Google-%238482%3B::2.html

    Viel Spass beim Basteln, ach ja und ich könnte ne Rückmeldung brauchen wie es unter verschiedenen Versionen des IE funktioniert.

    xklusiv

    • Neu im Forum
    • Beiträge: 20
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #110 am: 17. Juni 2009, 12:49:17
    Christians Script funktioniert bei mir einwandfrei. Nur ist leider so eine Checkliste bei einigen Produkten unpraktisch (so habe ich das mit einem Artikel probiert den es in den Größen 300 bis 480mm in 10mm Schritten gibt, also 19 Möglichkeiten zur Auswahl alle für diesen Punkt). Da wäre ein Drop-Down-Menü schon super!

    Das von Guensi erwähnte Script habe ich leider nicht zum laufen bekommen. Aber es würde auch keinen Sinn machen, wenn die Kennzeichung "ab" fehlt.

    **** Außer der Preisanpassung von Christian benutze ich nur noch ein Mindestmengenmodul ****

    xklusiv

    • Neu im Forum
    • Beiträge: 20
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #111 am: 17. Juni 2009, 15:43:37
    Nachtrag: Ich habe gerade auf modified eCommerce Shopsoftware_v1 umgestellt. Mein altes Template läuft noch 1A aber irgendwie kriege ich Christians Mindestmenge nicht im neuen Template zum laufen. Mache ich was falsch oder passt die Änderung nicht mehr ins neue Template?

    markies

    • Mitglied
    • Beiträge: 102
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #112 am: 17. Juni 2009, 16:51:21
    Hallo zusammen,

    da ich schon das Script für mich umgeschreiben habe in ein Dropdown hänge ich die Datei mal an.

    Hoffe es ist soweit OK. Wenn irgend wo eine programmierung nicht passt kanns ja vieleicht jemand ändern. Bestren Dank.

    Hoffe es hilft.

    lg Stefan

    xklusiv

    • Neu im Forum
    • Beiträge: 20
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #113 am: 17. Juni 2009, 17:07:52
    Super! Das läuft 1A Stefan, dankeschön.

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #114 am: 17. Juni 2009, 21:21:19
    So hier nun die für die modified angepasste Version des Javascriptes.

    Es rechnet nun auch mit und ohne ab korrekt, über die Tausender-Grenze hinweg und addiert die Preise aus mehreren Gruppen von Optionen.

    Im Anhang gibts als Ergänzung das Javascript und eine Version der product_info_v1.html mit Javascript-Warnung. Da ich keine Artikel ohne Optionen im Shop haben werde, hab ich keine Abfrage eingebaut, sondern nur einen noscript-Tag in einem div-Container mit ID.

    Über folgenden Eintrag in das Stylesheet.css kann man das nach Lust und Laune formatieren.

    Code: XML  [Auswählen]
    /* Formatierung der Java-Script-Warnung*/
    #javaaus {
            color:white;
            background-color:#FF6600;
            font-weight:bold;
            margin-bottom:10px;
            padding: 10px 5px;
            }
     
    Wer Artikel mit und ohne Optionen im Shop hat, sollte die Javascript-Warnung von Christian mit der entsprechenden Abfrage einbauen.

    Viel Spass beim Basteln.

    Sinan

    • Neu im Forum
    • Beiträge: 2
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #115 am: 02. Juli 2009, 01:26:54
    hi all,

    nehmt ihr mir das übel wenn ich sage man verliert in diesem thread den faden? ich stehe gerade vor dem problem viele updates aufgespielt aber folgendes ergebnis nicht erzielt haben zu können:

    einem artikel mit 0,- grundpreis sollen optionen hinzugefügt werden können, sprich tarife, handys und zugaben. diese haben natürlich wie gehabt +/- attribute und preise entsprechen dem jeweiligen handy/tarif oder bundle-zugabe. so möchte ich z.b. folgende kalkulation generieren können:

    Code: PHP  [Auswählen]
    0,- Grundpreis
    Code: PHP  [Auswählen]
    + Auswahl 1: Tarif 1 mit (-) 250 € Wert
    Code: PHP  [Auswählen]
    + Auswahl 2: Tarif 2 mit (-) 300 € Wert
    Code: PHP  [Auswählen]
    + Auswahl 3: Handy 1 mit (+) 100 € Wert
    Code: PHP  [Auswählen]
    + Auswahl 4: Handy 2 mit (+) 200 € Wert
    Code: PHP  [Auswählen]
    + Auswahl 5: Zugabe mit (+) 150 € Wert
    Code: PHP  [Auswählen]
    = - 100 € Endpreis zzgl. MwSt.
    auch sollte der preis simultan berechnet werden können, so dass die gesamtpreisangabe bzw. optionsaufschlag komplett ausgeblendet werden kann. die gesetzl. anwendung der preisordnung ist erstmal nichtig, da es erstmal als kalkulationstool gedacht ist.

    besonders angenehm wäre es negativ-preise (o. bsp.) auf die gute "BestPrice-Art" auf 0,- aufzurunden (für vertriebsleute: die negativen preise stellen die mögliche bar-auszahlung der kombination dar, dennoch uninteressant für den verkäufer).

    ausser diesen drei wichtigen anpassungen benötigt man die möglichkeit die attributs-eingabe-masken sortieren sowie ex-/importieren zu können. mit sicherheit gibt es hier und da verbesserungswürdige vorschläge, insbesondere nervt mich der umstand den tarif- und handy-wert immer doppelt eingeben zu müssen, weil praktisch 2x vertrag und 2x handy in kombination erhältlich sein sollen.

    meine versuche mit codesnippets rumzubasteln hat sich als nutzlos erwiesen. wer dazu eine praktische lösung zum anpassen an das neue xtc_modified hat, ich bin ganz ohr ^^

    in diesem sinne,
    gute nachtruhe

    Poppy17

    • Neu im Forum
    • Beiträge: 26
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #116 am: 06. Juli 2009, 09:45:55
    Ist dies "autom_preisbrechnung_preise_mit_js_warnung.zip" in der neuen Shop Software schon enthalten?

    Oine

    • Frisch an Board
    • Beiträge: 71
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #117 am: 21. Juli 2009, 14:26:44
    Habe mir das Ganze eingebaut und funktioniert ohne Probleme.
    Nun habe ich jedoch eine Frage dazu.

    Der neu errechnete Gesamtpreis wird so wie ich das sehe durch diesen Befehl angezeigt (berichtig mich wenn ich falsch liege):

    {include_php file=$myPriceUpdate_PP}

    Ich will nun, dass der neu errechnete Gesamtpreis zusätzlich an einer Stelle weiter unten (vor dem "In den Warenkorb" Button) ausgegeben wird.

    Füge ich dort jedoch {include_php file=$myPriceUpdate_PP} ein bleibt der Preis unten wie oben bei "0,00€".

    Gibt's da einen kleinen Trick?

    Oine

    • Frisch an Board
    • Beiträge: 71
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #118 am: 21. Juli 2009, 15:38:17
    Zur Erläuterung:

    Vor Auswahl:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Nach Auswahl:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Meine "templates/MeinTemplate/modules/product_info/product_info_v1.html"

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="product_info"}

    {if $MODULE_product_options !=''}
    {php}
            // DA WIR EIN JAVASCRIPT IN DEN OPTIONEN HABEN, WENN DAS ADDON RICHTIG EINGEBAUT WURDE, KÖNNEN WIR HIER DANACH SUCHEN.
            // WENN WIR EIN JAVASCRIPT FINDEN, WIRD DER ARTIKEL OPTIONEN HABEN!
            if (strpos ($this->_tpl_vars['MODULE_product_options'], 'javascript')) {
                    $this->_tpl_vars['myPriceUpdate_JS'] = $this->_tpl_vars['tpl_path'] . 'source/product_info_jscript.js.php';
                    $this->_tpl_vars['myPriceUpdate_PP'] = $this->_tpl_vars['tpl_path'] . 'source/product_info.php';
                    $this->_tpl_vars['myPriceUpdate_DO'] = 787;
                    include_once ($this->_tpl_vars['myPriceUpdate_JS']);
            }
    {/php}
    {/if}

    {if $MODULE_product_options !=''}
    {if $MODULE_product_options eq ""}
            {include_php file=$mySourcePath_JS}
    {/if}
    {/if}

    {$FORM_ACTION}
    <h1>{$PRODUCTS_NAME}</h1>

    <div id="productinfowrap">
    <table><tr><td style="padding-right:20px;">
            {if $PRODUCTS_IMAGE!=''}

                    <a title="{$PRODUCTS_NAME}" href="{$PRODUCTS_IMAGE|replace:"info_images":"popup_images"}" class="thickbox" rel="{$PRODUCTS_ID}"><img align="left" src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME}" class="productimage" /></a>
                    {if $PRODUCTS_POPUP_LINK!=''}<div class="hrlightgrey"></div><a href="{$PRODUCTS_POPUP_LINK}" onclick="window.open(this.href); return false;">{#text_zoom#}</a>{/if}                    

            {/if}</td><td>
            <div id="productinfopricewithimages">

                            <p class="productprice">

                      {if $MODULE_product_options !=''}
                      {if $myPriceUpdate_DO eq 787}
                                    <noscript>
                                            <strong>{#baseprice#} {$PRODUCTS_PRICE}</strong><br />

                                    </noscript>
                                    <input type="hidden" name="langpricetext" id="langpricetext" value="{#fullprice#}" />
                                    {include_php file=$myPriceUpdate_PP}
                                    <small>{#baseprice#} {$PRODUCTS_PRICE}</small><br />
                            {else}
                                    <strong>{$PRODUCTS_PRICE}</strong><br />
                            {/if}
                      {else}<strong>{$PRODUCTS_PRICE}</strong><br />
                      {/if}

                      </p>
                     <noscript> <p>Sie haben JavaScript deaktiviert und eine autom. Produktpreisaktualisierung ist nicht möglich. </p></noscript>
                            <p class="taxandshippinginfo" style="white-space:nowrap">{$PRODUCTS_TAX_INFO}{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</p>
                            {if $SHIPPING_NAME}<p class="shippingtime"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>
                            {/if}
                            {if $PRODUCTS_VPE}
                            <div class="hrlightgrey"></div>{$PRODUCTS_VPE}{/if}
                            {if $MODULE_graduated_price !=''}<div class="hrlightgrey"></div>{$MODULE_graduated_price}{/if}
                            {if $PRODUCTS_DISCOUNT!=''}<div class="hrlightgrey"></div>{$PRODUCTS_DISCOUNT}{/if}
                            {if $PRODUCTS_FSK18=='true'}<div class="hrlightgrey"></div><img src="{$tpl_path}img/fsk18.gif" alt="" style="cursor:default" />{/if}
                            {if $PRODUCTS_MODEL!=''}<div class="hrlightgrey"></div>
                            <strong>{#model#}</strong> {$PRODUCTS_MODEL}{/if}
                            {if $PRODUCTS_URL != ''}
                            <div class="hrlightgrey"></div><div style="padding-top:5px;">{$PRODUCTS_URL}</div>
                            {/if} <br />
                            <div style="margin-top:10px"></div>
                            {$PRODUCTS_PRINT}

                    {if $PRODUCTS_DATE_AVIABLE != ''}<p>{$PRODUCTS_DATE_AVIABLE}</p>{/if}
            </div>
            <div style="clear:both;"></div>
        </td></tr></table>
            {if $MODULE_product_options !=''}
            <div class="productoptions">{$MODULE_product_options}</div>{/if}

            <div class="highlightbox" style="text-align:right">Ihre Konfiguration kostet:<br>

            {include_php file=$myPriceUpdate_PP}

            <p class="taxandshippinginfo" style="white-space:nowrap">{$PRODUCTS_TAX_INFO}{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</p>
            </div><br>

            <div class="addtobasket">
            <table border="0" cellspacing="0" cellpadding="2">
                    <tr>
                    <td style="width:100%; padding-right:5px;">{$ADD_QTY}</td>
                    <td>{$ADD_CART_BUTTON}</td>
                    </tr>
            </table>
            </div>
            {if $PRODUCTS_DESCRIPTION !=''}<p>{$PRODUCTS_DESCRIPTION}</p>{/if}
    </div>

    {if $PRODUCTS_IMAGE_1 != ''}
    <!-- More Pictures -->
    <div class="morepics">

    {if $PRODUCTS_IMAGE_1 != ''}
    <a class="thickbox" rel="{$PRODUCTS_ID}" title="{$PRODUCTS_NAME}" href="{$PRODUCTS_IMAGE_1|replace:"info_images":"popup_images"}"><img align="left" src="{$PRODUCTS_IMAGE_1}" alt="{$PRODUCTS_NAME}" /></a>
    {/if}

    {if $PRODUCTS_IMAGE_2 != ''}
    <a class="thickbox" rel="{$PRODUCTS_ID}" title="{$PRODUCTS_NAME}" href="{$PRODUCTS_IMAGE_2|replace:"info_images":"popup_images"}"><img align="left" src="{$PRODUCTS_IMAGE_2}" alt="{$PRODUCTS_NAME}" /></a>
    {/if}

    <div style="clear:both;"></div>
    </div>
    {/if}

    {$FORM_END}
    {if $MODULE_products_media != ''}{$MODULE_products_media}{/if}
    {if $MODULE_products_reviews != ''}{$MODULE_products_reviews}{/if}
    {if $MODULE_cross_selling != ''}{$MODULE_cross_selling}{/if}
    {if $MODULE_reverse_cross_selling != ''}{$MODULE_reverse_cross_selling}{/if}
    {if $MODULE_also_purchased != ''}{$MODULE_also_purchased}{/if}
    {$PRODUCT_NAVIGATOR}
     
    Nach Zeile 75:
    <div class="productoptions">{$MODULE_product_options}</div>{/if}

    Habe ich folgendes eingefügt:

    Code: PHP  [Auswählen]
            <div class="highlightbox" style="text-align:right">Ihre Konfiguration kostet:<br>

            {include_php file=$myPriceUpdate_PP}

            <p class="taxandshippinginfo" style="white-space:nowrap">{$PRODUCTS_TAX_INFO}{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</p>
            </div><br>
    Solange ich keine Auswahl treffe stimmen beide Preise.
    Sobald ich jedoch den Select-Button drücke bleibt der untere Preis wie er ist, der obere sprint auf "0,00€".
    Wie bekommen ich oben und unten eine korrekte Preisberechnung hin?

    web28

    • modified Team
    • Beiträge: 9.404
    Preiswerbung mit Zusatzbeträgen (Download auf Seite 4)
    Antwort #119 am: 21. Juli 2009, 17:14:05
    Hallo guensi,

    hast Du im Testshop die aktuellste Version?

    Denn wenn ich auf Deinen Beispielartikel klicke

    http://www.guenstigerhandys.eu/xtcommerce/Handys/T-Mobile-G1-mit-Google-%238482%3B::2.html

    passiert im FF 3.5 folgendes:

    Lasse ich die Auswahl auf weiss werden die Optionen richtig hinzugerechnet.
    Aktiviere ich aber schwarz, wird nichts mehr berechnet, selbst wenn ich auf weiss zurückschalte.

    Gruss Web28

    16 Antworten
    13464 Aufrufe
    07. Juli 2011, 14:14:52 von Tomcraft
    14 Antworten
    7554 Aufrufe
    14. August 2011, 13:40:58 von Shorty