Menu

Nochmal eine Frage

Dirk
2002-04-29
2002-10-19
  • Dirk

    Dirk - 2002-04-29

    Hallo,

    jetzt ist eigentlich soweit alles klar bis auf ein kleines Problem:

    In der Datei payed.php mchte ich mir den Gesamtpreis rausziehen. Das klappt auch soweit, allerdings packt er immer das EUR dahinter, dieses kann ich fr die weitergabe allerdings nicht gebrauchen, weil das andere Programm nur Zahlen nimmt.

    Habe ich eine Chance das EUR bei der weitergabe wegzuschneiden ??

    $onlineprice=frmtprice($cart->cart_total($sess,$express),$sess);

    Danke wieder im voraus,

    Force

     
    • Andreas Kansok

      Andreas Kansok - 2002-04-29

      Mit einem $onlineprice = $cart->cart_total($sess,$express); sollte Dein Problem gelst sein.
      Dann ast Du auch kein Komma mehr als Trennzeichen.
      frmtprice() ist eine Funktion aus functions.inc.php

       
    • Dirk

      Dirk - 2002-04-29

      Hallo,

      Ja danke hat wunderbar funktioniert.
      Dann ist bestimmt die weitergabe der Artikelnummern aus der payed.php auch nicht so einfach. Ist bestimmt wieder irgendwo eine Funktion gelagert die ich noch nicht gefunden habe.

      $Onlineart_nr= ??????

      Knntest Du mir da villeicht noch einmal helfen.
      Sorry wenn ich stresse.

      Gru
      Force

       
    • Andreas Kansok

      Andreas Kansok - 2002-04-29

      Das mit den Artikelnummern ist etwas komplizierter, weil in der Tabelle cart nur die item.ID's stehen.
      Genaugenommen generiert aber die cart.php ein Array, wo alle Einzelinformationen zu den Artikeln drin stehen. Das wird fr Deine Zwecke gengen.
      Schau mal in die Datei sho_content.inc.php die generiert die Warenkorbanzeige fr pay, payed und mailer.*php. Vielleicht kannst Du die Datei ja fr Deine Zwecke (der wre?) umarbeiten.

       
    • Dirk

      Dirk - 2002-04-30

      Danke werde mir das ganze einmal anschauen.
      Ich brauche die Daten fr eine Onlinefinanzierung.

      PS

      Ist es mglich den Shop auf 2 unterschiedlichen Domains mit unterschiedlichen Artikeln, allerdings nur mit einer DB zu betreiben ?

      Gru
      Force

       
    • Andreas Kansok

      Andreas Kansok - 2002-05-01

      Ich gehe mal davon aus, da die Berechtigung am SQL-Server fr dieses Vorhaben vorhanden sind.

      Ansonsten sollte das mit nur wenig Aufwand funktionieren. Die Frage ist, wie die Administration laufen soll. Die zeigt Dir halt immer den gesamten Inhalt der Datenbank an.

      ber die Gruppen mte das gehen. Du brauchst einen zweiten ffentlichen Benutzer fr die zweite Domain zum Beispiel. Dann legst Du noch eine zweite ffenltiche Benutzergruppe an z.B. mit der ID=12. Dann mut Du z.B. in nav.php, search.php und rightside.inc.php den SQL-Query von group='2' in group='12' ndern. Ebenso in publicuupd.inc.php beim insert eines neuen Users, das der nicht in der Gruppe 2 landet nmlich auf der anderen Domain. Naja kurzum berall wo was mit user_group=2 auftaucht in user_group=12 umndern.

      Dann sollte das aber funktionieren. In der Administration siehst Du dann beide Shops gleichzeitig. Um das zu verhindern, mtest Du bei Aufbau der bersichtstabellen in die Queries ein where groupID>11 einbauen. z.B.

       
    • Dirk

      Dirk - 2002-05-06

      Wie ich den Preis ohne Eur Zeichen aus Payed.php rausbekomme ist klar, allerdings klappt das i Detail nicht dort ist die Funktion.showprice, mit der komme ich gar nicht klar.

      Wie bekomme ich in der Detail.php den Preis ohne Eur Bezeichnung und Formatiert.

      Danke im voraus

      Force

       
      • Andreas Kansok

        Andreas Kansok - 2002-05-06

        Dabei ist showprice() ganz einfach: erstes Argument ist die ID des des Artikels ($item_row[0]), das zweite die Session ($sess). Fr Dein Vorhaben ntzt sie Dir aber zugegebenermaen wenig ;-)

        Kopier doch einfach in functions.inc.php die Funktion.showprice(), benenn sie um in z.B. showprice_ocs (ohne currency-symbol ;-) und nimm die vorletzte Zeile der Funktion weg 'else ... $price_row[2]'

        In detail.php ruftst Du dann Deine neue Funktion showprice_ocs(itemID,sessionID) auf.

        --
        Gru,
        Andreas.

         
    • Dirk

      Dirk - 2002-05-06

      Hallo Andreas,

      gesagt getan aber er zeigt mir immer bei der neuen Funktion showpreis_online(itedID,sessionID) an:
      Preis auf Anfrage. Die Else Funktion habe ich rausgenommen er bleibt aber glaube ich auf  if (($price_row[0] == 0) AND ($show_null == 0)) {$price = $null_text;} stehen. Wei allerdings net warum ;)

      Gru
      Force

       
    • Andreas Kansok

      Andreas Kansok - 2002-05-06

      Hm, dann war es wohl etwas zuviel gleich die ganze Zeile weg zu nehmen.
      Aber die Zeile 'else { $price=$price; } stehen zu lassen, ergibt irgendwie auch keinen Sinn.

      Eigentlich steckt das Whrungszeichen nur in der Variablen $price_row[2].

      Wenn er den Preis nicht findet (und gehe mal davon aus, da einer angegeben ist ;-), kann es eigentlich nur noch an der itemID (nicht Artikelnummer!) liegen.

       
    • Dirk

      Dirk - 2002-05-07

      Hallo Andreas,

      habe jetzt alles probiert. Keine Chance er zeigt immer an Auf Anfrage. Keine Ahnung mehr habe alles durch. Knntest Du mir evtl. den Code mal sagen damit ich es verstehe ??

      Danke

       
      • Andreas Kansok

        Andreas Kansok - 2002-05-07

        So ich habe unter 'Support' mal eine kleine Datei als Hilfetext zur Funktion abgelegt.

        Wann kann der Preis 0 werden:
        a) Kein Preis in der Tabelle price angegeben oder er wird nicht gefunden, weil ein falsche itemID bergeben wird. $price_row[0]=0.
        b) $user_pt=0; Tabelle pricetype.vat bzw. user.prictypeID kontrollieren.
        c) Bei der Umrechnung mit $basis_row[0] geht was schief.
        d) Der Umrechnungsfaktor currency.rate ($price_row[1]) ist 0.

        Was sagen die ausgegeben Zwischenwerte?

         
    • Dirk

      Dirk - 2002-05-15

      Huhu,

      habe es jetzt sowei hinbekommen das der Preis mit weitergeleitet wird.

      $onlineprice=showprice_online($item_row[0],$sess);

      Allerdings kann ich mit dem Komma nichts anfagen, muss ein Punkt sein. Jetzt komme ich nicht mehr weiter. Kannst du mir den Funktionsaufruf nennen. Wre Dir sehr dankbar.

      MFG
      Force

       
    • Andreas Kansok

      Andreas Kansok - 2002-05-15

      Das Problem ist jetzt fr mich, da ich Deine Funktion showprice_online() nicht kenne ...

      Zeig mal her ;-)

      Es kann ja jetzt eigentlich nur noch ein number_format() zuviel oder zuwenig sein.

       
    • Dirk

      Dirk - 2002-05-15

      Nachdem ich fast den Tisch zerkloppt htte *gg* habe ich es hinbekommen. Aber zur Info hier die Funktion (ist wahrscheinlich viel zu kompliziert htte ich auch einfacher machen knnen ;)).
      ----
      function showprice_online($itemID, $sess) {
          include("lib.inc.php");
          $price_res = db_query("select price.value,currency.rate,currency.keysign from price,currency
                                   where price.itemID='$itemID' AND price.curID=currency.ID AND curID='$curID'") or db_die();
          $price_row = db_fetch_row($price_res);
          if ($curID>1 && $auto_convert=="1") {
            $basis_res = db_query("select price.value from price
                                   where price.itemID='$itemID' AND price.curID='1'") or db_die();
            $basis_row = db_fetch_row($basis_res);
            $price_row[0] = $price_row[1] * $basis_row[0];
          }
          $disprice = ($price_row[0]-($price_row[0]*$user_disc))*$user_pt ;
          if ($lang=="de") {$price= number_format($disprice, 2 , "." , ".");}
          else {$price = number_format($disprice , 2 , "." , ",");}
          if (($price_row[0] == 0) AND ($show_null == 0)) {$price = $null_text;}
          elseif ($price_row[0] < 0) { $price = $gratis;}
          return $price;

       
    • Andreas Kansok

      Andreas Kansok - 2002-05-15

      Wozu hast Du das drin?
      if ($lang=="de") {$price= number_format($disprice, 2 , "." , ".");}
      else {}

      Da kam/kommt Dein Komma her.

       
    • Peter Lehr

      Peter Lehr - 2002-10-19

      Ich hab auch ein Problem mit dem Herausziehen des Gesamtpreises in der pay.php und zwar um eine funktion zu schaffen um eine Versandkostenfreiheit ab beispielsweise 35 Euro zu schaffen.
      Ich habs mit den Tips in diesem thread probiert und mit den tipps von Andreas mit dem Vorschlag:
      if ($cart->total> 100) {$ship_factor = 0; }
      else {$ship_factor = 1; }
      Ich hab mich irgendwie verfranzt und komm nicht weiter.
      Wie kann ich es hinbekommen, da erstens die Versandkosten bei der Kasse entsprechen berechnet werden, diese in die payed bernommen werden und in der Mail natrlich auch.

       
    • Andreas Kansok

      Andreas Kansok - 2002-10-19

      Bei der Kasse (pay.php) mut Du die Berechnung schon vor den Dropdown-Mens machen.
      In den nachfolgenden Dateien (payed und mailer) wird die Variable $express mit der Summe aus Versand- und Zahlungsartkosten belegt und bei irgendeiner Methode mit bergeben. Die Berechnung findet da am besten vor der Ermittlung der Kosten statt. Kannst natrlich ebensogut vor der Summenbildung den Faktor ausrechnen und dann gleich verwenden.

       

Log in to post a comment.