Einbinden von Modulen

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
fruppsi
Beiträge: 9
Registriert: 18. Mär 2018, 17:47

Einbinden von Modulen

Beitrag von fruppsi »

Hallo,

Ich habe ein Problem beim einbinden von Admidio mittels diesem code

Code: Alles auswählen

ob_start();  
 		 include_once($_SERVER['DOCUMENT_ROOT']. '/admidio/adm_program/system/common.php');
  		include($_SERVER['DOCUMENT_ROOT']. '/admidio/adm_plugins/calendar/calendar.php');

		$main= ob_get_contents();
		ob_end_clean(); 
Das Modul wird 1 mal richtigh angezeigt , danach kommt ne weisse seite?

Vielen Dank
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Einbinden von Modulen

Beitrag von XimeX »

Du gibst den inhalt von $main aber später eh mittels echo etc aus oder?
fruppsi
Beiträge: 9
Registriert: 18. Mär 2018, 17:47

Re: Einbinden von Modulen

Beitrag von fruppsi »

Ja, ist eine Variable , die in meiner template routine verarbeitet wird.
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Einbinden von Modulen

Beitrag von XimeX »

Das wird auch wieder das Problem mit den globalen Variablen sein...

Also wenn du nur die 2 Zeilen in eine Datei schreibst und sie aufrufst funktioniert es, aber wenn du den code in einen anderen einbaust nicht mehr. Hab ich das richtig verstanden?
fruppsi
Beiträge: 9
Registriert: 18. Mär 2018, 17:47

Re: Einbinden von Modulen

Beitrag von fruppsi »

Genau Richtig.

Globale variablen habe ich keine , nur constanten , und eine ssesion variable zwecks umstellung auf eine andere Sprache. 8)
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Einbinden von Modulen

Beitrag von XimeX »

Das mit den globalen Variablen bezieht sich auf die von Admidio. Für die v3.3 wird es dafür vermutlich noch keine Lösung geben. Die Probleme mit den globalen Variablen von Admidio werden wir erst in der v4.0 angehen
fruppsi
Beiträge: 9
Registriert: 18. Mär 2018, 17:47

Re: Einbinden von Modulen

Beitrag von fruppsi »

Leider zeigt mir das Forum mit dem Stichwort globale Variable nur einen Beitrag von 2007 an?

Gibt es eine Beschreibung des Problems , vielleicht kann ich dann mein Script anpassen?
Meine Seite neu gestallten wäre extrem schwierig , da es auf einem selbst geschrieben kleinen CMS basiert.

Da Admidio für den Verein aber optimal ist und man das Rad nicht 2 mal erfinden muss , hoffe ich eine Lösung zu finden.

Vielen Dank 8)
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Einbinden von Modulen

Beitrag von XimeX »

Das Problem kurz erklärt:
In Admidio gibt es ein paar variablen die global sein sollten. Also alle in diesem format: "$g[A-Z][a-z]+"
Wenn jetzt aber eine andere PHP Seite Admidio einbindet, zb in einer Methode, werden diese Variablen nicht mehr global gesetzt sondern im Kontext der Methode. dadurch funktioniert an anderen stellen der import durch "global $g..." nicht. Es müssten also alle Seiten von Admidio in denen eine $g... GESETZT wird, im globalen namespace eingebunden werden. Alles andere müsste aber auch in methoden etc funktionieren.
Antworten