Seite 1 von 1
AJAX Attribut Manager
Verfasst: Sa 15. Mai 2010, 13:09
von blackshadow
Hallo zusammen,
wir haben den AJAX Attribut Manager (imedes) installiert.
Wenn ich nun beim Ändern eines Artikels wieder zurück in den Shop zurückgehe bekomme ich folgende Fehlermeldung:
Code: Alles auswählen
Warning: require_once(/home/blackshadow.at/www.blackshadow.at/includes/classes/attributeManagerInstant.php) [function.require-once]: failed to open stream: No such file or directory in /home/blackshadow.at/www.blackshadow.at/includes/application_top.php on line 63
Fatal error: require_once() [function.require]: Failed opening required '/home/blackshadow.at/www.blackshadow.at/includes/classes/attributeManagerInstant.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/blackshadow.at/www.blackshadow.at/includes/application_top.php on line 63
Diese Meldung ist neu seit 1.0.8. Die Datei /includes/classes/attributeManagerInstant.php hat es noch nie gegeben - hat jedoch vorher immer funktioniert mit dem Attribut Manager.
Hat vlt. jemand eine Idee?
Danke im Vorraus!
blackshadow
Re: AJAX Attribut Manager
Verfasst: So 16. Mai 2010, 07:57
von Xantiva
Sicher, dass das "Modul" richtig verbaut wurde? Was macht ein "require_once" für ein Backendmodul in der application_top.php für das Frontend?
Re: AJAX Attribut Manager
Verfasst: So 16. Mai 2010, 11:41
von blackshadow
Hallo Xantiva,
berechtigte Frage - in Zeile 63 der /includes/application_top.php steht folgendes:
Code: Alles auswählen
function __autoload($className) {
require_once(DIR_FS_CATALOG.'includes/classes/'.$className.'.php');
}
Mir ist aufgefallen, dass in der 1.0.9a das hier steht:
Code: Alles auswählen
function __autoload($className) {
if (file_exists(DIR_FS_CATALOG.'includes/classes/'.$className.'.php')) {
require_once(DIR_FS_CATALOG.'includes/classes/'.$className.'.php');
}
}
Die Datei wird also nur geladen wenn es existiert.
Frage mich nur warum /includes/classes/attributeManagerInstant.php required wird...
Wie gesagt in der 1.0.6 hats funktioniert ohne Fehler... Modul sollte also richtig verbaut sein.
Gruß
Blackshadow
Re: AJAX Attribut Manager
Verfasst: So 16. Mai 2010, 18:50
von Xantiva
blackshadow hat geschrieben:Frage mich nur warum /includes/classes/attributeManagerInstant.php required wird...
Das kann ich Dir von hier aus auch nicht beantworten. Scheinbar soll im Frontend ein Objekt dieser Klasse erzeugt werden und der Autoloader versucht dann diese zu laden. Such mal nach "attributeManagerInstant" in allen Frontend Dateien ...
Re: AJAX Attribut Manager
Verfasst: Mo 24. Mai 2010, 17:55
von blackshadow
Hi Xantiva,
die einzigen Einträge die ich finden konnte waren in den Files des Attribut Managers.
evtl. noch eine Idee?
Habe eine leere Datei erstellt einstweilen - zumindest meckert er nun nicht mehr...
VG
BS
Re: AJAX Attribut Manager
Verfasst: Mo 24. Mai 2010, 18:41
von Xantiva
Durchsuche mal bitte alle Dateien nach:
Der Autoloader wird "aktiv", wenn ein neues Objekt einer Klasse erzeugt werden soll. Dann sucht er die entsprechende Klassen Datei in '/includes/classes/'.
Dann liste mal die Dateien (mit Pfad vom Root "/" an) hier bitte auf.
Ciao,
Mike
Re: AJAX Attribut Manager
Verfasst: Di 22. Jun 2010, 15:41
von blackshadow
Hallo Xantiva,
sorry für die späte Antwort.
Mit dem Suchstring "new attributManagerInstant" habe ich nur in einem File in /admin/includes/functions gefunden:
Code: Alles auswählen
function &amGetAttributeManagerInstance($get) {
if (!is_numeric($get['products_id']) || AM_ATOMIC_PRODUCT_UPDATES) {
if('new_product' == $get[AM_PAGE_ACTION_NAME] && !xtc_not_null($get[AM_ACTION_GET_VARIABLE]))
amSessionUnregister(AM_SESSION_VAR_NAME);
amSessionRegister(AM_SESSION_VAR_NAME, array());
$attributeManager =& new attributeManagerAtomic(amGetSesssionVariable(AM_SESSION_VAR_NAME));
}
else
$attributeManager =& new attributeManagerInstant($_GET['products_id']);
return $attributeManager;
}
VG
BS
Re: AJAX Attribut Manager
Verfasst: Di 22. Jun 2010, 20:08
von Xantiva
Das hilft nicht wirklich, da das ja auch wieder nur eine Datei aus dem Backend ist. Jetzt könntest Du suchen, ob z. B. amGetAttributeManagerInstance irgendwo im Frontend aufgerufen wird. Oder ob Du in einer Datei des Frontends die ungenannte Datei aus dem Backend eingebunden hast. Also mit reiner "Ferndiagnose" sehe ich hier so kein Weiterkommen, sorry.