Hallo,
wir sind gerade dabei Moodle auch für uns zu entdecken. Dabei stoßen wir leider an unerklärliche Probleme.
Folgendes wir haben Moodle nicht als Hauptprojekt laufen, sondern als Plattform unter der eigentlichen Präsenz.
Wir wollen da natürlich auch unsere Inhalte aus der Hauptpräsenz einsetzen, die auch Datenbankgestützt vorhanden sind.
Wir haben in der Config die Zeilen etwas erweitert und wollten unsere Variblen im Moodle Bereich auch bereit stellen. Nur leider klappt das nicht so recht.
eine einfache include Anweisung wird ja noch ausgeführt, aber wenn ein Echo auf eine Konstante z.b. gesetzt wird, ist diese nicht verfügbar.
Wie können wir es schaffen "unsere Variblen" auch im Moodle LMS einzubinden?
Vielen Dank für eure Hilfe
lg Dasty
Hallo,
bei $CFG hilft entuell die Anweisung "global $CFG;"
Denn selbst, wenn eure includierten Dateien keine Funktionen enthalten, so könnte es sein, dass die include-Anweisung selbst in einer Funktion steht und somit das Objekt $CFG nicht zu sehen ist.
Konstanten, die mit define() definiert wurden, sollten überall sichtbar sein.
bei $CFG hilft entuell die Anweisung "global $CFG;"
Denn selbst, wenn eure includierten Dateien keine Funktionen enthalten, so könnte es sein, dass die include-Anweisung selbst in einer Funktion steht und somit das Objekt $CFG nicht zu sehen ist.
Konstanten, die mit define() definiert wurden, sollten überall sichtbar sein.
Hi,
das Problem ist nicht die Datei zu includieren, sondern die Variablen aus der includierten Datei heraus zu bekommen. Zum Beispiel habe ich eine Datei wo nur konstanten enthalten sind, diese sollen dann einige Textblöcke z.b. vom Header ersetzen. Diese Konstanten werden allerdings nicht erkannt, selbst bei einem var_dump(Konstante); kommen keine Ergebnisse. Was aber komischerweise funktioniert , man kann zum beispiel in der Datei die Includiert wird, ein echo 'hallo'; einsetzen und dieses wird dann auch gefunden.
Ich bin an der Stelle ziemlich ratlos, denn ich wollte nicht die gesamten Konstanten im Moodle noch einmal aufsetzen.
Vielen Dank
das Problem ist nicht die Datei zu includieren, sondern die Variablen aus der includierten Datei heraus zu bekommen. Zum Beispiel habe ich eine Datei wo nur konstanten enthalten sind, diese sollen dann einige Textblöcke z.b. vom Header ersetzen. Diese Konstanten werden allerdings nicht erkannt, selbst bei einem var_dump(Konstante); kommen keine Ergebnisse. Was aber komischerweise funktioniert , man kann zum beispiel in der Datei die Includiert wird, ein echo 'hallo'; einsetzen und dieses wird dann auch gefunden.
Ich bin an der Stelle ziemlich ratlos, denn ich wollte nicht die gesamten Konstanten im Moodle noch einmal aufsetzen.
Vielen Dank
Was steht den nun eigentlich drin in der Datei die du includest?
Konstanen (mit define() definiert) oder
Variablen?
Konstanen (mit define() definiert) oder
Variablen?
Hallo,
also in der Datei steht einfach nur eine define('KONSTANTE','Ausgabe');
Mehr steht in den Dateien nicht drin. Ich hab auch schon versucht die Konstanten über defined auszulesen, aber die kommen einfach nicht an. Liegt es eventuell daran, das dateien die nicht im Moodleroot liegen garnicht erst zugelassen werden?
Vielen Dank für deine Hilfe.
also in der Datei steht einfach nur eine define('KONSTANTE','Ausgabe');
Mehr steht in den Dateien nicht drin. Ich hab auch schon versucht die Konstanten über defined auszulesen, aber die kommen einfach nicht an. Liegt es eventuell daran, das dateien die nicht im Moodleroot liegen garnicht erst zugelassen werden?
Vielen Dank für deine Hilfe.
Hallo,
die Register Globals steht auf off. Daran kann es also nicht liegen, denn ich greife auf globale Variblen sowieso mit POST oder GET zu oder ähnlichem.
Hast du vielleicht noch eine andere Idee?
mfg
die Register Globals steht auf off. Daran kann es also nicht liegen, denn ich greife auf globale Variblen sowieso mit POST oder GET zu oder ähnlichem.
Hast du vielleicht noch eine andere Idee?
mfg
Ja,
Was sagen denn die Log-Dateien zu dem Thema? Namentlich dir error.log des Apache (Volltextsuche nach dem Dateinamen der includierten Datei)?
Was kommt raus, wenn du PHP anweist, alle Fehler an den Browser zu senden? Der muss sich doch irgendwo melden....
Gruß,
Maik
Was sagen denn die Log-Dateien zu dem Thema? Namentlich dir error.log des Apache (Volltextsuche nach dem Dateinamen der includierten Datei)?
Was kommt raus, wenn du PHP anweist, alle Fehler an den Browser zu senden? Der muss sich doch irgendwo melden....
Gruß,
Maik
Also moodle ist es egal, wo die Datei liegt, die du includest. Allerdings, wenn du sagst, dass die Datei außerhalb von moodleroot liegt, dann könnte es sein, dass in der php.ini die Einstellung für "open_basedir" genau diesen Zugriff verhindert.
Außerdem:
Wie gibst du den Pfad zur Datei an.
Außerdem:
Wie gibst du den Pfad zur Datei an.
- include('../includefile');
oder - include($CFG-dirroot . '/../includefile');