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:

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

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.