Hallo,
ich hatte Fakturama Im November ausprobiert, es hatte mir Artikel, Bestellungen geladen. Dann habe ich es nicht mehr benutzt.
Und heute wurden meine im Onlineshop neu angelegten Artikel geladen, aber die offenen Bestellungen nicht. Beim Abruf kommt folgende Fehlermeldung:
5.3.22
Fatal error: Class 'Smarty' not found in /home/www/web154/html/shop/admin/fakturama_connector.php on line 1100
Versionen:
Gambio: 2.0.11.1 r7562
Fakturama: 1.6.3
Connector: XTC 1.6.0
Linux Mint 13
Woran kann das liegen? Was muss ich ändern?
Vielen Dank für eure Hilfe und Aufklärung!
Felix
Sehr merkwürdig. Ich habe mit Gambio GX2 v2.0.12.2 getestet und kann mir nicht vorstellen, dass der Smarty Pfad geändert wurde.
Liegt die denn auf dem Server in "includes/classes/Smarty/"?
Und wie heißt da die Datei? Müsste "Smarty.class.php" sein.
Oder warte mal, da war bei Gambio noch was.
Wenn die Datei in dem Pfad liegt, öffne sie mal und gehe mal in Zeile 74. Heißt die Klasse "Smarty_ORIGIN"?
Dann nenne sie mal um in "Smarty". Also in der Zeile steht dann nur noch "class Smarty". Keine Ahnung was die sich da gedacht haben. 🙁 Versuch dann den Import noch mal.
Bitte mal testen.
Danke für die schnelle Antwort. Gelöst hat es das Problem nicht, es gab erstmal folgende Fehlermeldung:
5.3.22
Fatal error: Call to undefined function xtc_session_id() in /home/www/web154/html/shop/includes/classes/Smarty/Smarty.class.php on line 1335
Daraufhin habe ich mein Gambio auf 2.0.12.2 upgedated, brachte nichts außer nach einigem rumprobieren:
No valid Smarty.class.php found.
Nach dem Workaround von https://www.fakturama.info/community/hilfe-bei-installation-und-bedienung/geloest-webshop-anbindung-modified-shop-no-valid-smarty-class-php kommt wieder obige Fehlermeldung...
Zeile 1335 lautet: $t_new_sid = xtc_session_id();
Hast du den Connector gewechselt? Einmal hast du den 1.6er, dann den 1.5er?
Ich hab das noch mal bei mir getestet.
Der Connector 1.6 funktioniert ohne irgendwelche Änderungen.
Bei mir läuft Gambio shop_version=v2.0.13.0 r8905, was aber keinen Unterschied machen sollte.
Ich kann mir im Moment keinen Reim auf die nicht gefundenen Funktionen machen.
Vielleicht fällt es mir noch ein, wo es anfangs bei mir hing.
Hm, danke. Ich bin da leider Laie. Sonst hätte ich ja nicht nachgefragt.
Ja ich hatte zwischendrin den Connector mal gewechselt...
Schade, würde mich freuen, wenn das doch noch irgendwie funktionieren würde. Die Alternativen JTL und CAO wollen auch nicht so recht (bin kein Freund von Wine oder VirtualBox)...
liegt es vielleicht an der PHP-Version?
Hallo,
die Woche über nicht drum gekümmert, aber beschlossen Faktura trotzdem zu nutzen: Vl. löst sich das Problem irgendwann mal, außerdem werden die Artikel ja importiert, ich habe nur eine überschaubare Anzahl Bestellungen, ich find's so doch eine angenehme Möglichkeit Rechnungen und Adressetiketten zu drucken.
Aber nun hab ich (absoluter PHP-Laie) einfach mal diese Zeile 1335 in der Smarty.class.php auskommentiert und schon ließen sich aus meinem Gambio-Shop offene Bestellungen ohne Fehlermeldung importieren.
Keine Ahnung, welche Auswirkungen das sonst noch hat. Wenn jetzt ein Kenner sagt, dass ich damit was zerstöre, dann höre ich da gerne drauf.
Viele Grüße
Felix
Naja, du brauchst Smarty eigentlich nur, um über den Shop Mails zu verschicken.
Die werden damit aufbereitet.
Die Funktion xtc_session_id() gehört zum Gambio System und müsste auch gefunden werden.
Die liegt in /admin/includes/functions/sessions.php. Das ist schon merkwürdig.
Wenn die nicht gefunden würde, dürfte dein Shop auch nicht korrekt laufen.
In /admin/includes/functions/sessions.php steht die Funktion auch:
function xtc_session_id($sessid = '') {
if (!empty($sessid)) {
return session_id($sessid);
} else {
return session_id();
}
}
Hab gerade im ShopBackend eine Probebestellung durchgemacht. Also es kommen die eMails von Bestellbestätigung bis Stornierung alle beim Empfänger an.
Wenn ich aber über Fakturama die Versandbestätigungsemail schicken will, dann kommt es da zu folgender Fehlermeldung:
5.3.22
Fatal error: Class 'PHPMailer' not found in /home/www/web154/html/shop/admin/fakturama_connector.php on line 260
Wenn das nun mit meinem xtc_session_id-Problem zusammenhängt, kann ich damit leben.
Ich glaub ich hab da was gefunden. Es gibt bei Gambio eine Autoloader Klasse, die die entsprechenden Klassen (Smarty, PHPMailer usw.) einbindet. Deshalb heißen die auch anderst. :S
Die versuch ich mal zu integrieren, dann sollten die Klassen auch gefunden werden.
In den Shopdateien im Produktivsystem, also dem laufenden Shop, würde ich keine Änderung machen. Also die Session-Funktion z.B. besser nicht auskommentieren.
Da ist es klüger, wenn man den Connector anpasst. Leider finden sich einige Fehler erst in Benutzung, wie bei dir jetzt.
Aber ich denke das können wir noch abstellen. Ich melde mich dann, wenn ich weitergekommen bin.
Alles klar. Kein Stress. Bin ja eh froh, dass ich was gefunden habe, das kostenlos und übersichtlich ist.
Danke dafür!
Ich habe mal etwas rumexperimentiert. Dazu habe ich mir Gambio noch mal neu installiert, damit keine evtl. eigenen Änderungen mehr da sind.
Leider lief bei mir der Connector wieder fehlerlos ohne Änderungen durch.
Trotzdem habe ich den Autoloader mal eingebaut. Da der Aufruf funktioniert und bei mir auch keine Fehler bringt, kann es sein, dass dein Import so läuft.
Setze im unveränderten Connector hinter Zeile 126, also hinter diesen Block:
if (file_exists(DIR_FS_INC . 'htmlentities_wrapper.inc.php')) {
require_once(DIR_FS_INC . 'htmlentities_wrapper.inc.php');
}
mal noch diese Zeilen:
if (file_exists(DIR_FS_CATALOG . 'system/gngp_layer_init.inc.php')) {
require_once(DIR_FS_CATALOG . 'system/gngp_layer_init.inc.php');
# custom class autoloader
spl_autoload_register(array(new MainAutoloader('frontend'), 'load'));
}
Ein Versuch ist es wert, wenn es nicht geht weiß ich momentan auch nicht mehr.
Das Ergebnis vorweg: Es funktioniert gerade! (:P)
Der Weg war aber steinig:
Heute Nachmittag habe ich diese Zeilen eingefügt. Es gab eine andere Fehlermeldung, dass irgendeine andere function in der Smarty-Datei nicht funktioniere.
Heute abend habe ich dann auch mal einen neuen Gambio 2.0.12.2 aufgesetzt. Siehe da (nach _ORIGINS entfernen), hat es funktioniert. Dann spaßeshalber im "echten" shop nochmal ausprobiert und: Es funktioniert... Ich habe NICHTS sonst verändert oder upgedated oder...
Vielen herzlichen Dank!
Na das is ja mal schön.
Aber es ist halt so, dass man einiges nicht nachvollziehen kann. Das sehe ich immer wieder.
Dann nimmt man es einfach hin, wenn es dann doch funktioniert. 😉
Gestern glücklich ausgeschaltet, geschlafen, heute Fakturama gestartet und probiert. Der Fehler von gestern Nachmittag ist wieder da:
5.3.22
Fatal error: Call to undefined function get_usermod() in /home/www/web154/html/shop/includes/classes/Smarty/Smarty.class.php on line 1769
Auf den gestern neuaufgesetzten Shop gewechselt: Jetzt zeigt auch der den xtc_session_id Fehler...
Also es bleibt seltsam bei mir. Ich nehme es einfach so hin. Wenn ich unseren Shop nicht nur so nebenbei betreiben würde, würde ich wohl auf irgendeine teure Lösung ausweichen. Aber so mach ich halt ohne Verbindung zum Shop weiter 😛
Gut, du könntest jetzt natürlich noch ein
if (file_exists(DIR_FS_INC . 'get_usermod.inc.php')) {
require_once(DIR_FS_INC . 'get_usermod.inc.php');
}
an die letzte Änderung hängen, um zu versuchen, ob dann mal alles zur Verfügung steht.
Das hängt aber an deiner Lust. 😉