AJAX Attribut Manager

Du hast ein PHP-Code Problem und benötigst Hilfe bei der Lösung
Antworten
blackshadow
Beiträge: 93
Registriert: Sa 8. Mai 2010, 15:17
Shop Version: 1.0.8

AJAX Attribut Manager

Beitrag 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
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: AJAX Attribut Manager

Beitrag 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?
Mein Shop: http://www.basteln-selbermachen.de
blackshadow
Beiträge: 93
Registriert: Sa 8. Mai 2010, 15:17
Shop Version: 1.0.8

Re: AJAX Attribut Manager

Beitrag 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
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: AJAX Attribut Manager

Beitrag 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 ...
Mein Shop: http://www.basteln-selbermachen.de
blackshadow
Beiträge: 93
Registriert: Sa 8. Mai 2010, 15:17
Shop Version: 1.0.8

Re: AJAX Attribut Manager

Beitrag 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
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: AJAX Attribut Manager

Beitrag von Xantiva »

Durchsuche mal bitte alle Dateien nach:

Code: Alles auswählen

new attributeManagerInstant
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
Mein Shop: http://www.basteln-selbermachen.de
blackshadow
Beiträge: 93
Registriert: Sa 8. Mai 2010, 15:17
Shop Version: 1.0.8

Re: AJAX Attribut Manager

Beitrag 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
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: AJAX Attribut Manager

Beitrag 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.
Mein Shop: http://www.basteln-selbermachen.de
Antworten