Startseite Sitemap

Eigene PlugIn's erstellen

 

Was sind PlugIn's?

Plug-In's sind Komponenten (DLLs), mit denen Sie CONTEX selbständig um Funktionalität erweitern können. Sie können eigene PlugIn's Programmieren und diese dann in CONTEX "einklinken" um so z.B. eigene Inhaltstypen zu erstellen.

Hier ist beschrieben, welche PlugIn's mit CONTEX ausgeliefert werden.

 

Eigene PlugIn's erstellen

Um eigene PlugIn's zu erstellen brauchen Sie eine Programmiersprache, welche .NET (Assemblies) Komponenten erstellen kann (z.B. VisualBasic.NET oder C#) und natürlich einigermassen gute Programierkentnisse dieser Sprache. Der Einfachheit halber verwenden wir hier VisualBasic SourceCode Beispiele.
Damit das PlugIn mit dem CONTEX "kommunizieren" kann bietet CONTEX eine Schnittstelle (Interface) das sie in eine Klasse in Ihrem PlugIn Implementieren müssen. Dieses Interface heisst: ox.CONTEX30.Generator.ICTXPlugin

Um dieses Interface zu verwenden, müssen Sie zuerst eine Verweis (Reference) auf den CONTEX Generator (oxCONTEX30Generator.dll ) erstellen. Erstellen Sie nun eine neue Klasse und Implementieren Sie dort das Interface mit: Implements ox.CONTEX30.Generator.ICTXPlugin

Eigenschaften des Interfaces

CtxDB Ctx-DB für erweiterte Funktionen. Über dieses Datenbank Objekt erhalten Sie Zugriff auf die CONTEX Datenbank.
CtxSession Hier erhalten sie das Hauptobjekt des CONTEX Generators, der viele nützliche Funktionen bietet.
ContentSettings Hier können Sie Ihre Einstellungen pro Inhalt laden bzw. Speichern.
AutoSave Bestimmt, ob CONTEX die Einstellungen (ContentSettings) automatisch Speichern soll.
CntID Die ID des Inhalts
Bez Bezeichnug des Inhaltes für die Anzeige im CONTEX-GUI.
Aktiv Liefert/Setzt, ob der Inhalt aktiv ist.
EditAfterNew Gibt an ob direkt nach der erstellung des neuen contents der Inhalt automatisch editiert werden soll. (Wenn True wird ShowConfigDialog angesprungen)
Content Der eigentliche Inhalt.
ActLanguage Liefert die ID der aktuellen Sprache.
MenuPicture Setzt das Bild, das verwendet werden soll, wenn Ihr PlugIn im GUI dargestellt wird.
MenuText Setzt den Text, der im Menü "Neu" von CONTEX für Ihr PlugIn angezeigt wird.
Description Setzt die Beschreibung Ihres PlugIn's.
Version Setzt die Version Ihres PlugIn's.
HasNewForm Hier können Sie definieren, ob Sie einen eigene NewForm haben (Wird nach dem neu erstellen des PlugIn's angesprungen).
HasEditor Definieren Sie hier, ob sie einen eigenen Inhaltseditor haben (wenn nicht, wird der HTML Editor verwendet)
HasPropDialog Definieren Sie hier, ob sie einen eigenen Eigenschaftsdialog haben.
HasConfigDialog Definiert, ob ein allegemeiner (Globaler) Dialog für das PlugIn existiert.
HasGenerator Definiert, ob das PlugIn selber verwantwortlich für das generieren ist oder ob der gespeicherte Text (Content) einfach auf die seite eingefügt werden kann.
ParentWindow Liefert die Parent Form, über der Sie Ihre eigenen Dialoge anzeigen sollten.
GlobalSettings Kann verwendet werden, um Globale Einstellungen zu laden und zu Speichern.

Methoden des Interfaces

GetContentHTML Wird während der Generierung aufgerufen falls HasGenerator = True ist. lPAG_ID ist die ID der Seite auf welcher der Inhalt generiert werden soll.
bReset = Weisst das PlugIn an alle Global gecachten Daten zu verwerfen (Ist das erst mal während Generierung auf True).
ShowPropDialog Wird aufgerufen, wenn der Eigenschaftendialog des Contents angezeigt werden soll. (nur wenn HasPropDialog = True ist)
EditContent Wird aufgerufen, wenn der Editor für den Content angezeigt werden soll. (nur wenn HasEditor = true ist)
NewContent Wird durch das menu "neu" inhalt aufgerufen. (nur wenn HasNewForm = true ist)
ShowConfigDialog ShowConfigDialog zeigt den Konfigurationsdialog der Global für das PlugIn gilt.

Um Ihre PlugIn zu verwenden, müssen Sie es in das CONTEX Programmverzeichnis installieren und anschliessend bei Ihrem Web konfigurieren (Extras --> Benutzerinhalte (PlugIns)).

Wenn Sie weitere Informationen für das erstellen eigener PlugIn's benötigen, oder uns Ihre eigenen PlugIn's zu veröffentlichung senden möchten, dann tretten Sie doch bitte mit uns in Kontakt.