Seite 1 von 1
Eigenes Modul mit Session Variablen
Verfasst: Di 4. Jan 2011, 19:05
von Freetime-Progger
Hallo zsuammen,
ich hab gestern bis spät in die Nacht veruscht, eine Session Varriable zu registrieren.
Hierzu funktioniert alles solange ich den Artikel nicht wechsle, sobald aber ein anderer Artikel aufgerufen wird kann ich die zuvor in der Session gespeicherte Variable nicht mehr aufrufen.
Zur Info:
Ich verweiße aus einem Modul per Include auf eine im CMS Verzeichnis vorhandene php-Datei.
(Ort: cms/plugins/mein-ego/includes)
Da ich mir auch schon selbsthelfen wollte versuchte ich bereits üebr die Klasse $sess->url(() eine Sessionid zu produzieren welche zum neune Artikel übergeben wird. Geht leider nicht
Welche "einfache" Methode gibt es die von mir gewünschten Variablen in der Session so abzuspeichern, das diese auch aus anderen Artikeln heraus aufrufbar sind?
Danke vorab
mfg
Marcus
Re: Eigenes Modul mit Session Variablen
Verfasst: Di 4. Jan 2011, 20:01
von idea-tec
Re: Eigenes Modul mit Session Variablen
Verfasst: Di 4. Jan 2011, 20:08
von Freetime-Progger
Leider bekomm ich hier auch noch den Fehler:
Code: Alles auswählen
Call to a member function is_registered() on a non-object
Ic hkomm nicht dahinter was ... denke aber das die Contenido Klassen nicht aufgerufen werden können ... Idee ?
Re: Eigenes Modul mit Session Variablen
Verfasst: Mi 5. Jan 2011, 07:28
von Dodger77
Erst mal willkommen im Contenido-Forum, Marcus!
Wäre es möglich, den Code deines Moduls bzw. des Includes hier mal eben zu posten? Die Fehlermeldung besagt, dass die Variable, zu der die Methode "is_registered" aufgerufen wird wahrscheinlich nicht eine Instanz der Klasse Session ist. Hast du denn sonst den Code, den idea-tec oben verlinkt hat, mal einfach direkt in einem Modul ausprobiert?
Gruß
Ingo
Re: Eigenes Modul mit Session Variablen
Verfasst: Mi 5. Jan 2011, 18:24
von Freetime-Progger
Hallo Ingo
also erstmal die theoretisch was ich vorhabe:
Ich möchte verschieden Module anlegen welche ich in die einzelnen Artikel einbinde (je nach Bedarf) ...
die Module wiederrum binden PHP-Code aus externen Dateien ein. (da diese leichter für mich über Dreamweaver zu pflegen sind.
Ich benötige eben teilweise die CMS Funktionen und teilweise Bau ich eigene externe Skrips mit ein.
Modul zum Klasse einbinden:
Code: Alles auswählen
global $content;
global $error;
//Include der Klassen
include("plugins/mein-ego/class/class.system.php");
Bsp. Klassen-Code (Externe Skript liegt im CMS Verzeichnis) hab ich auch schon unter Contenido/plugins/mein-plugin/ ausprobiert:
Code: Alles auswählen
class sys extends PHPMailer{
....
...
// Inhalt aus Datei einbinden
function content($datei){
$me_cfg = sys::config();
include($me_cfg["includes_path"].$datei.'.php');
echo $content;
}
...
...
Bsp. Modulcode:
Code in externer PHP Datei: (enthält keine Functionen oder Klassen)
Code: Alles auswählen
...
...
$content .= ' <div class="content">'.chr(10);
$content .= ' <form name="anmeldung" action="'.$sess->url($me_cfg["cms_url"].'?idcat=55&idart=45&show_step=1').'" method="POST"><input type="hidden" name="secure_code" value="'.$_SESSION["secure_code"].'">'.chr(10);
$content .= $me_cfg->show_error();
$content .= ' <table cellpadding="0" cellspacing="0" border="0" width="100%">'.chr(10);
...
..
Ich hab den Code schon direkt ausprobiert, dann kommt der genannte Fehler ... hab den verrdacht das die Klasse(n) von Contenido verloren gehen sobald ich in meine externen Skripts was anstelle ? Kann das sein ? wenn ja wie krieg ich gebacken ?
Danke vorab!
Gruß
Marcus
Re: Eigenes Modul mit Session Variablen
Verfasst: Mi 12. Jan 2011, 13:32
von Freetime-Progger
gibt wohl keine Antworten ?
Dann werd ich wohl Contenido für das Projekt sterben lassen und stricke es mir selbst....
Re: Eigenes Modul mit Session Variablen
Verfasst: Mi 12. Jan 2011, 14:12
von munkh.balidar_4fb
Hallo,
Wie ich verstehe, du inkludierst ja eine externe PHP-Datei in einer Klassen-Methode. Dann hast du ja an der Stelle keine Globale-Variablen von Contenido. Nicht nur $sess sondern alle anderen wie $idart, $idcat, $client usw. werden hier in der externen Datei fehlen.
Dafür musst du die Variablen im Amfang der externen PHP-Datei deklarieren. z.B global $sess.
So musste es funktionieren.
Bye.