Gelöst: Webshop Anb...
 
Benachrichtigungen
Alles entfernen

Gelöst: Webshop Anbindung: modified Shop - no valid Smarty.class.php

25 Beiträge
6 Benutzer
0 Reactions
2,330 Aufrufe
(@Marengo)
Active Member
Beigetreten: vor 14 Jahren
Beiträge: 6
Topic starter   [#1074]

Hallo,
ich habe mir die neueste Version von modified-shop (1.06) installiert und Diesen an Fakturama angebunden. Jedoch erscheint die Fehlermeldung:

no valid Smarty.class.php found.

Woran könnte das liegen.

Vielen Dank

Marengo



   
Zitat
 Nico
(@NicoDeluxe)
Active Member
Beigetreten: vor 14 Jahren
Beiträge: 16
 

In der aktuellen modified Version, wurden einige Smarty gelöscht und ersetzt. Der Connector müsste umgeschrieben werden.


http://www.tonerzilla.de


   
AntwortZitat
(@Marengo)
Active Member
Beigetreten: vor 14 Jahren
Beiträge: 6
Topic starter  

Vielen Dank für die Info.
Schade, denn zum Umschreiben von php Code bin ich leider nicht smarty genug.

Beste Grüße



   
AntwortZitat
(@moped)
Mitglied Registered
Beigetreten: vor 14 Jahren
Beiträge: 648
 

Hm, wie ich das sehe, wird nur eine andere Smarty Klasse verwendet.
Vielleicht reicht es ja schon, wenn du die richtige einbindest.
Ich hab grad keine aktuelle modified-Version installiert, aber versuche doch mal in der (XTCMODIFIED) fakturama-connector.php in Zeile 132 folgendes einzufügen:

if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.27/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.27/Smarty.class.php');
 }

Dann wird jedenfalls die richtige Klasse geladen.
Ob sich sonst hinten raus noch was geändert hat, kann ich jetzt nicht sehen.



   
AntwortZitat
(@Marengo)
Active Member
Beigetreten: vor 14 Jahren
Beiträge: 6
Topic starter  

Vielen Dank für den Tip; nur leider spuckt der connector immer noch die selbe Fehlermeldung aus - auch wenn ich den Pfad direkt im Browser aufrufe.
Bin etwas ratlos...



   
AntwortZitat
(@moped)
Mitglied Registered
Beigetreten: vor 14 Jahren
Beiträge: 648
 

Die Fehlermeldung kommt ja wohl aus diesem Abschnitt (ab Zeile 133):

if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php');
 }
 else if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.14/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.14/Smarty.class.php');
 }

Dann ersetze den Abschnitt doch durch die installierte Version:

if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.27/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.27/Smarty.class.php');
 }

Ich hab vorhin vergessen, dass aus dem zweiten if dann auch ein else if werden musste.
Sonst läuft der auf jeden Fall wieder in die Fehlermeldung.



   
AntwortZitat
(@Marengo)
Active Member
Beigetreten: vor 14 Jahren
Beiträge: 6
Topic starter  

ich verstehe...
Nun funktioniert die Anbindung an den Shop und Bestellungen werden importiert

Liebes Moped - vielen Dank



   
AntwortZitat
(@rhe_dummy)
Noble Member
Beigetreten: vor 57 Jahren
Beiträge: 729
 

Vielen Dank für die Lösung! Stand vor dem gleichen Problem, welches dank moped gelöst ist

Grüße
Anja (:P)



   
AntwortZitat
(@Marcel)
Active Member
Beigetreten: vor 13 Jahren
Beiträge: 13
 

Hallo,

ich habe gerade versucht diese Lösung für Gambio GX2 anzuwenden.
Aber ich bekomme eine ganz andere Fehlermeldung.

Bei mir lautet Sie, wenn ich die Daten importieren möchte:

"Fehler beim Lesen der Shop Daten:
http://www.mein-shop.de/admin/fakturama_connector.php
Notice: Use of undefined constant OSCOMMERCE - assumed 'OSCOMMERCE' in /var/www/web205/public_html/www/admin/fakturama_connector.php on line 47

Notice: Use of undefined constant XTCOMMERCE - assumed 'XTCOMMERCE' in /var/www/web205/public_html/www/admin/fakturama_connector.php on line 50

Notice: Use ..."

Hätte jemand eine Idee?

Gruß
Marcel



   
AntwortZitat
(@moped)
Mitglied Registered
Beigetreten: vor 14 Jahren
Beiträge: 648
 

Du kannst den if-else if Konstrukt von Zeile 47 bis 55 mit folgendem ersetzen:

switch( FAKTURAMA_WEBSHOP ) {
 case 'OSCOMMERCE': define('FAKTURAMA_WEBSHOP_BASE','OSCOMMERCE');
 break;
 case 'XTCOMMERCE': define('FAKTURAMA_WEBSHOP_BASE','XTCOMMERCE');
 break;
 case 'XTCMODIFIED': define('FAKTURAMA_WEBSHOP_BASE','XTCOMMERCE');
 break;
}

Dann werden keine unbekannten Konstanten mehr abgefragt.



   
AntwortZitat
(@Marcel)
Active Member
Beigetreten: vor 13 Jahren
Beiträge: 13
 

Hallo Moped,

auf dich ist verlass! (tu)
Das hat schon mal geklappt.

Zuvor hatte ich an die "Smarty Class" abgeändert.
In der entsprechenden Datei im Webshop steht bei mir 2.6.26.

Ich habe daraufhin im Connector alles in dem entsprechenden Abschnitt (132-136) wie folgt verändert

if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php');
 }
 else if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php');
 }
 

Aber das war wohl nicht richtig, kennst Du da auch eine Lösung? Ist wohl sowas ähnliches wie im oberen Verlaufs Threads.



   
AntwortZitat
(@Marcel)
Active Member
Beigetreten: vor 13 Jahren
Beiträge: 13
 

Ergänzung:

Ich habe jetzt noch mal etwas rumgespielt und wie folgt abgeändert:

if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.26/Smarty.class.php');
 }
 else if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.14/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.14/Smarty.class.php');
 }

Als Fehlermeldung erscheint nun:

Fehler beim Lesen der Shop Daten:
http://www.meine-shop.de No valid Smarty.class.php found.



   
AntwortZitat
(@moped)
Mitglied Registered
Beigetreten: vor 14 Jahren
Beiträge: 648
 

Sorry, ich kenne die Gambio Pfade nicht.
Liegt der Smarty Ordner auch in "includes/classes" vom Shopordner aus gesehen?
Dann sollte sie eigentlich gefunden werden.
Die Frage ist dann nur noch, welche Version genau und wie heißt der Ordner, wo die Smarty class drin liegt.



   
AntwortZitat
(@Marcel)
Active Member
Beigetreten: vor 13 Jahren
Beiträge: 13
 

also die Smarty.class.php liegt bei mir in den Ordnern : "/includes/classes/Smarty/". Öffnet man die Smarty.class.php steht darin:

 /**
 * Smarty version number
 *
 * @var string
 */
 var $_version = '2.6.26';

Heißt das, ich muss "Smarty_2.6.14/Smarty.class.php" nach "includes/classes/Smarty/Smarty.class.php" abändern?



   
AntwortZitat
(@moped)
Mitglied Registered
Beigetreten: vor 14 Jahren
Beiträge: 648
 

Nö, wenn der Ordner nicht die Versionsnummer enthält, würde ich sie so anfordern:

if (file_exists(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty/Smarty.class.php')) {
 require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty/Smarty.class.php');
 }

Allgemein würde ich, wegen wechselnder Versionen und Ordnerbezeichnungen, vielleicht so etwas einsetzen:

if( count(glob(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty*/Smarty.class.php') == 1) ) {
 foreach( glob(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty*/Smarty.class.php') as $smarty_version) {
 require($smarty_version);
 }
 }
else
 exit_with_error( "No valid Smarty.class.php found." );

Anstatt dem ganzen if -else. Was ja richtig ist, aber Dinge ändern sich... 😎
Das wäre dann "allgemeinkompatibel". 😉



   
AntwortZitat
Seite 1 / 2
Teilen: