Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
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: Merkwürdige Fehlermeldung für die free.php nach Checkout

    Angeal

    • Fördermitglied
    • Beiträge: 411
    • Geschlecht:
    Hallo Zusammen,
    ich habe ein Problem mit meinem Checkout.
    Nachdem ein Kunde die Bestellung abgeschlossen hat bekomme ich in meine Log Dateien folgende Meldung:

    Code: PHP  [Auswählen]
    mod_fcgid: stderr: PHP Warning:  include(/lang/german/modules/shipping/free.php): failed to open stream: No such file or directory in /send_order.php on line 70, referer: http://localhost/checkout_confirmation.php

    mod_fcgid: stderr: PHP Warning:  include(): Failed opening '/lang/german/modules/shipping/free.php' for inclusion (include_path='.:') in /send_order.php on line 70, referer: http://localhost/checkout_confirmation.php

    mod_fcgid: stderr: PHP Warning:  constant(): Couldn't find constant MODULE_SHIPPING_FREE_TEXT_TITLE in /send_order.php on line 71, referer: http://localhost/checkout_confirmation.php

    Benannte Zeile 70 in der send_order.php besagt folgendes:

    Code: PHP  [Auswählen]
    include (DIR_FS_CATALOG . 'lang/'.$order->info['language'].'/modules/shipping/'.$shipping_class[0].'.php');

    Allerdings gibt es wie die Meldung schon sagt diese free.php nicht. Ich habe auch keine Versandart die einfach nur "free" heißt. Höchstens die Standard "freeamount"

    Nach meiner Datenbank zu urteilen habe ich auch kein Modul installiert welches sich "free" nennt.

    Ergo kann es die angeforderte Konstante nicht geben.
    Kann es sein, das hier die freeamount.php gemeint ist? Falls ja, wie bekomme ich das korrigiert?

    Ich nutze Version 1.06 rev4356

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

    mooncrawler

    • Mitglied
    • Beiträge: 104
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #1 am: 29. Januar 2013, 18:51:37
    Hey.

    Welche sind den Aktuell bei dir unter Versandart aktiviert?

    Hast Du bei "Zusammenfassung" > Versandkosten (ot_shipping) > Versandkostenfrei erlauben > aktiviert?

    Ich denke es damit was zutun (nicht direkt mit der Zeile, aber hier taucht das free auf):
    checkout_shipping.php Zeile:171

    Code: PHP  [Auswählen]
    if ($_SESSION['shipping'] == 'free_free')

    Grüße David

    Angeal

    • Fördermitglied
    • Beiträge: 411
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #2 am: 29. Januar 2013, 19:33:57
    Aber warum leitet man hier auf eine free.php Sprachdatei die es absolut nicht gibt?

    mooncrawler

    • Mitglied
    • Beiträge: 104
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #3 am: 29. Januar 2013, 23:18:54
    Nehme mal an, das es sich hier um ein Überbleibsel aus oscommerce Zeiten handelt.
    http://forums.oscommerce.com/topic/154040-free-shipping-express-shipping-option/

    Der einfachste Lösungsweg unter ot_shipping Versandkkostenfrei entfernen und das freeamount unter Versandarten aktivieren.

    Grüße

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #4 am: 30. Januar 2013, 00:17:28
    genau das gleiche Problem hatte ich vorhin auch. Hab mich dumm und dämlich gesucht. Deinstalliere mal das Modul freeamount und dann installier es wieder, wie du es vorher drinnen hattest.

    Kommt der Fehler dann noch immer?

    Bei mir kommt er nun zumindest nicht mehr, kann aber nicht genau sagen, ob das der Fehler war. Dafür hab ich nun das Problem, dass die "error"-Meldung auf der checkout_shipping.php nicht mehr angezeigt wird, also dass die Versandkostenfreigrenze noch nicht erreicht ist!

     :-? Ich würde mal sagen, hier stimmt irgendwas nicht ganz.

    Grüße
    Dominik

    Angeal

    • Fördermitglied
    • Beiträge: 411
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #5 am: 30. Januar 2013, 13:44:11
    Das sollte vielleicht mal irgendwann überarbeitet oder entfernt werden.
    Oder zumindest sollte eine free.php als Sprachdatei angelegt werden.

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    so beim Update auf die Rev4642 kommt wieder der Fehler:

    Code: PHP  [Auswählen]
    Warning: include(/home/www/blubb_rev4642/lang/german/modules/shipping/free.php) [function.include]: failed to open stream: No such file or directory in /home/www/blubb_rev4642/send_order.php on line 70

    Warning: include() [function.include]: Failed opening '/home/www/blubb_rev4642/lang/german/modules/shipping/free.php' for inclusion (include_path='.:/usr/share/php') in /home/www/blubb_rev4642/send_order.php on line 70

    Warning: constant() [function.constant]: Couldn't find constant MODULE_SHIPPING_FREE_TEXT_TITLE in /home/www/blubb_rev4642/send_order.php on line 71

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/blubb_rev4642/send_order.php:70) in /home/www/blubb_rev4642/inc/xtc_redirect.inc.php on line 32

    Kann dazu einer was sagen? Es gibt wie gesagt die lang/german/modules/shipping/free.php nicht, ebensowenig hilft deinstallieren vom Modul freeamount, wie es bei mir das letzte Mal geklappt hatte...

    Grüße
    Dominik

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    der Fehler taucht in der checkout_process.php auf und weißt auf den Fehler in der send_order.php hin

    das ist die angesprochene Passage in der send_order.php
    Code: PHP  [Auswählen]
    //shipping method
      if ($order->info['shipping_class'] != '') {
        $shipping_class = explode('_', $order->info['shipping_class']);    
        include (DIR_FS_CATALOG . 'lang/'.$order->info['language'].'/modules/shipping/'.$shipping_class[0].'.php');
        $shipping_method = constant(strtoupper('MODULE_SHIPPING_'.$shipping_class[0].'_TEXT_TITLE'));
      }
      $smarty->assign('SHIPPING_METHOD', $shipping_method);

    warum versucht er über $shipping_class[0] dann auf free.php zuzugreifen?

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    Okay, der Fehler tritt nur auf, wenn man bei ot_shipping "Versandkostenfrei erlauben" auf true stellt.

    Was mich allerdings wundert:
    wo wird denn definiert, welche Sortierreihenfolge ein Modul hat, wenn man es z.B. deinstalliert und wieder installiert?

    Denn wenn ich das z.B. im Demoshop mache, dann landet ot_shipping immer auf der 30
    Bei mir im Shop landet ot_shipping allerdings immer auf der 3

    Vielleicht hat ja hier irgendetwas einen an der Waffel!?

    Grüße
    Dominik

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.225
    • Geschlecht:
    Hallo,

    hier der Fix aus dem SVN r4857:

    /send_order.php

    suche das hier:

    Code: PHP  [Auswählen]
      //shipping method
      if ($order->info['shipping_class'] != '') {
        $shipping_class = explode('_', $order->info['shipping_class']);    
        include (DIR_FS_CATALOG . 'lang/'.$order->info['language'].'/modules/shipping/'.$shipping_class[0].'.php');
        $shipping_method = constant(strtoupper('MODULE_SHIPPING_'.$shipping_class[0].'_TEXT_TITLE'));
      }

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
      //shipping method
      if ($order->info['shipping_class'] != '' && $order->info['shipping_class'] != 'free_free') {
        $shipping_class = explode('_', $order->info['shipping_class']);
        include (DIR_FS_CATALOG . 'lang/'.$order->info['language'].'/modules/shipping/'.$shipping_class[0].'.php');
        $shipping_method = constant(strtoupper('MODULE_SHIPPING_'.$shipping_class[0].'_TEXT_TITLE'));
      } else {
        include (DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/order_total/ot_shipping.php');
        $shipping_method = FREE_SHIPPING_TITLE;
      }

    Gruss Gerhard

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #10 am: 12. Juni 2013, 08:52:28
    Hallo Gerhard,

    sorry für die späte Rückmeldung - ist etwas untergegangen und ich hab jetzt erst deine Lösung entdeckt.

    Nur soviel dazu: es funktioniert nun genau wie es soll - das nur zur Information :thumbs:

    Grüße
    Dominik

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #11 am: 20. Januar 2014, 16:46:53
    Bei einem Shop den ich betreue kommt es trotz diesem Patch zu dem Fehler.

    was mir aufgefallen ist:
    was ist der unterschied zwichen diesen aufrufen

    Code: PHP  [Auswählen]
    include (DIR_FS_CATALOG . 'lang/'.$order->info['language'].'/modules/.....

    und dem

    Code: PHP  [Auswählen]
    include (DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/....

    es soll beides zum gleichen ordner verweisen. (lang/sprache/modules/...) warum dann die verschiedenen wege ?

    Kann mir das mal jemand erklären

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.748
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #12 am: 20. Januar 2014, 20:27:01
    Ohne zu wissen wo du diese "includes" gefunden hast:
    Das ist nicht das gleiche und verweist nicht zwingend auf dasselbe File.
    Die $order->info['language'] müsste die Sprache sein in der bestellt wurde,
    während $_SESSION['language'] die Sprache ist in welcher man gerade ist im Shop.
    Diese sind nicht zwingend identisch.

    Gruß,
    noRiddle

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #13 am: 24. Januar 2014, 12:54:01
    Die beiden Includes stammen doch aus diesem thread....

    Schau mal den Codeschnipsel von  GTB

    Danke für die Infos mit dem Unterschied

    muxmir

    • Neu im Forum
    • Beiträge: 5
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #14 am: 02. Dezember 2014, 11:44:13
    Hallo Gerhard,

    bei einem Shop den ich betreue kommt es nach deinem Patch bei Vorrauskasse zu diesem Fehler:

    Code: PHP  [Auswählen]
    Warning: include(/lang/german/modules/order_total/ot_shipping.php) [function.include]: failed to open stream: No such file or directory in /kunden/418703_90762/shop/send_order.php on line 74

    Warning: include() [function.include]: Failed opening '/lang/german/modules/order_total/ot_shipping.php' for inclusion (include_path='.:/usr/local/lib/php') in /kunden/418703_90762/shop/send_order.php on line 74

    Warning: Cannot modify header information - headers already sent by (output started at /kunden/418703_90762/shop/send_order.php:74) in /kunden/418703_90762/shop/admin/includes/functions/general.php on line 198

    Ich verstehe die Fehlermeldung nicht, da es lang/german/modules/order_total/ot_shipping.php gibt.

    Mein Kunde nutzt die Version 1.06 rev 4642.

    Grüße
    Joachim
    65 Antworten
    21371 Aufrufe
    25. Oktober 2009, 15:42:33 von koshiro
    30 Antworten
    11335 Aufrufe
    22. Oktober 2010, 11:17:51 von GTB
    1 Antworten
    2945 Aufrufe
    16. Oktober 2009, 07:35:26 von mizzy
               
    anything