Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Class Include
Forum Sefrengo.org > Allgemeine Foren > Entwicklung
Chregu
Hallo Zusammen

Kann mir jemand sagen, wie ich am einfachsten einen Include von den Standardklassen von Sefrengo in meine neuen Pluginklasse mache?
Danke für die Hilfe.

gruss
chris
bjoern
Also die API Objekte kannst Du so ansprechen (Im Testfall hier wird die WebRequest- Klasse geladen):

$sf_wr =& $GLOBALS['sf_factory']->getObject('HTTP', 'WebRequest');
$extracted = $sf_wr->getVal('testval');

Wenn Du den Sefrengokern in ein vom komplett von Sefrengo losgelöstes Plugin einbinden willst, musst Du die Datei "backend/inc/inc.init_external.php" einbinden. Damit bindest Du den Core in Deine Anwendung ein.
duffy
ZITAT(bjoern @ Fri. 1. June 2007, 12:09) *
$sf_wr =& $GLOBALS['sf_factory']->getObject('HTTP', 'WebRequest');
$extracted = $sf_wr->getVal('testval');


Basierend darauf habe ich versucht die ID des Rootordners meines aktuellen Ordners auszugeben und bin leider gescheitert. Kann mir einer sagen wo der Fehler liegt:

Im Layout habe ich folgende Ausgabe gemacht:
CODE
<CMSPHP>
$sideInfo =& $GLOBALS['sf_factory']->getObject('PAGE', 'Catinfos');
echo $sideInfo->getRootParent($idcat);
</CMSPHP>


Die Id die mir zurück gegeben wird, ist immer die aktuelle $idcat, obwohl es ein Ordner ist, der nicht auf der obersten Ebene liegt. Dann habe ich mir innerhalb des Objekts $sideInfo mal das Array $this->data['data'] ausgegeben und dieses war leer. Wird das Objekt nicht korrekt initialisiert?

Temporäre Lösung war dann eine eigene Funktion: (hier mit Rückgabe des Namens des Rootordners)
CODE
function getRootName($id)
{
global $con_tree;
if($con_tree[$id]['parent'] != "0") return getRootName($con_tree[$id]['parent']);
return $con_tree[$id]['name'];
}
bjoern
Bevor Du die Catinfoklasse nutzen kannst, mußt Du zumindest die Methode generate() ausführen, damit der Baum überhaupt erst generiert wird. Es gibt verschiedene set Methoden (z.B. Rechte prüfen ja/ nein), womit das Ergebnis eingeschränkt werden kann.

Im System existiert das globale Objekt $SF_catinfos . Ich empfehle darauf die Abfrage zu machen. Das Objekt ist schon so konfiguriert, das die Backend (dort werden immer alle Seiten angezeigt, Backendrechte werden berücksichtigt) und Frontend (nur Onlineseiten werden angezeigt, Frontendrechte werden geprüft) spezifischen Unterschiede berücksichtigt werden.

duffy
Ah Klasse.

generate() würde ja noch mal einen Datenbankzugriff mehr bedeutet, aber die Lösung mit $SF_catinfos ist natürlich Klasse. Danke!

Gibt es eigentlich eine Übersicht über die vorhandenen globalen SF-Objekte ohne $GLOBALS durchzuschauen?
smail
ZITAT
Gibt es eigentlich eine Übersicht über die vorhandenen globalen SF-Objekte ohne $GLOBALS durchzuschauen?


Ich hab es zwar nicht ganz genau im Kopf, aber ich meine, dass Modul Info gibt da alle Möglichkeiten aus. Es ist in der 1.4 final als Standard mit dabei, Du musst es nur aus dem Repository importieren.

Gruß
Jan


Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.