Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Plugins _ Add Headerelement v01.05.00

Geschrieben von: duffy Fri. 13. June 2008, 11:23

Plugin-Name:
---------------------------------------------------------------------------
Add Headerelement

Version:
---------------------------------------------------------------------------
01.05.00

Status:
---------------------------------------------------------------------------
stable

Bechreibung:
---------------------------------------------------------------------------
Das Plugin bietet die Möglichkeit dem <head> Elemente anzuhängen und zu ändern


Features:
---------------------------------------------------------------------------
- Hinzufügen von css Dateien über event "add_css"
- Hinzufügen von js Dateien über event "add_js"
- Hinzufügen von beliebigen Elementen über event "add_headelement"
- Ändern des Titles mit event "set_title"
- Über Administration->Projekte ist es möglich den doctype einzustellen (html/xhtml)
Wenn der Parameter nicht administriert ist, wird die Einstellung des layouts übernommen

Autor(en):
---------------------------------------------------------------------------
Oliver Albrecht - dduffy
Jan Hoffmann - smail


Lizenz:
---------------------------------------------------------------------------
GPL

Benötigte Sefrengo Version:
---------------------------------------------------------------------------
>= 01.04.00 (frühere Versionen nicht getestet)


Installation:
---------------------------------------------------------------------------
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Administration->
Plugins". Wechseln Sie dort in den Bereich "Plugin importieren"). Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsplugin"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Plugin in das CMS importiert. Das Plugin ist nun innerhalb des CMS
nutzbar.


Update/ Migration:
---------------------------------------------------------------------------
abwärtskompatibel zu voherigen Versionen


Dokumentation:
---------------------------------------------------------------------------
Das Plugin stellt neben vier Events auch eine direkte Schnittstelle zur verfügung um
den <head> zu ändern.
(Wenn die Events zum einfügen von Elementen in den head benutzt werden, bestimmt die Aufrufreihenfolge
die Reihenfolge in der die Elemente im head eingefügt werden.)

0. Konfiguration
-------------------------------------------
Unter Administration->Projekte->Projektkonfiguration kann der doctype ausgewählt werden,
der für das Einfügen eines Elements in den <head> gelten soll. Zur Auswahl stehen:
1 - html
2 - xhtml
3 - auto (Einstellung des Layouts wird benutzt) [Voreinstellung]

1. add_css (Stylesheet an den head anhängen)
-------------------------------------------
Das Event wird mit einem array in der Form ("file" => "<pfad/zur/cssdatei.css>", "media" => "<liste,der,medien>")
aufgerufen. Der Parameter media ist dabei optional.
Beispiel: fire_event("add_css", array("file" => "test.css", "media" => "screen"));

2. add_js (Javascript an den head anhängen)
-------------------------------------------
Das Event wird mit einem array in der Form ("file" => "<pfad/zur/jsdatei.css>"))
aufgerufen.
Beispiel: fire_event("add_js", array("file" => "test.js"));

3. add_headerelement (beliebiges Element an den head anhängen)
-------------------------------------------
Das Event wird mit einem array in der Form ("<!--Element 1-->", "<!--Element 2-->")
oder mit dem einzufügenden Element als String aufgerufen.
Beispiel 1: fire_event("add_headelement", array("<!--Element 1-->", "<!--Element 2-->"));
beispiel 2: fire_event("add_headelement", "<!--Element 3-->");

4. set_title (Title des Dokuments ändern)
-------------------------------------------
Das Event wird mit einem array in der Form ("title" => "<neuer title>"))
aufgerufen.
fire_event("set_title", array("title" => "Toller Title"));

Die Benutzung der Events kann auch auf einer http://www.oliver-albrecht.com/spielplatz/add-headerelement.html betrachtet werden.

5. Manuelles Einfügen in den <head>
-------------------------------------------
Weiterhin können Elemente auch manuell in der head eingefügt werden:
require_once($cfg_cms['cms_path']."plugins/headerelement/class.headerelement.php");
$he =& SF_Headerelement::getInstance();
$he->addHeaderItem("<mein Element>" [, $sortindex]);
// darüber hinaus stehen die folgenden methoden zur Verfügung:
$he->setTitle($title);
$he->addJsItem($filname);
$he->addCssItem($filename [, $media]);

Module die dieses Plugin benutzen:
---------------------------------------------------------------------------
ChangeHeader
PicaseWebAlbumViewer
FontSize (v 1.0.0)

CODE
Changelog legend:
# -> Bug Fix
+ -> Addition
^ -> Change
- -> Removed
! -> Note

Current versionnumber is 01.05.00 - released 13.06.2008
------------------------------------------------------------------------------------------------
+ new event add_css: css files can be added
+ new event add_js: js files can be added
+ new event set_title: title can be changed
+ new event add_headelement: any element can be added to head
+ configuration of doctype is possible (Administration -> Projekte)

Current versionnumber is 01.02.00 - released 06.06.2008
------------------------------------------------------------------------------------------------
+ title can be changed

Current versionnumber is 01.01.00 - released 13.03.2008
------------------------------------------------------------------------------------------------
+ Not doubled Entries possible

Current versionnumber is 01.00.02 - released 09.03.2008
------------------------------------------------------------------------------------------------
+ Update Meta
^ Install Meta

Current versionnumber is 01.00.01 - released 07.03.2008
------------------------------------------------------------------------------------------------
# Fixed installation / Deinstallation

Current versionnumber is 01.00.00 - released 06.03.2008
------------------------------------------------------------------------------------------------
! initial version


 AddHeaderElement_v01_05_00.zip ( 7.21KB ) : 29


edit: Autoren geändert.

Geschrieben von: smail Sat. 14. June 2008, 00:24

Sehr schöne Idee, die Singleton-Implementation an die SF-eigenen Events zu koppeln.

Und eigentlich eine logische Konsequenz, man muss nur erstmal drauf kommen... wink.gif

Damit könnten wahrscheinlich langsam eine Reihe von FRs als abgedeckt gelten:

...und das sogar ohne Eingriff in den Core tongue.gif

Gruß
Jan

Geschrieben von: gunwalt Sat. 14. June 2008, 10:11

Hi duffy, vielen Dank für das Plugin. Den Hinweis mit der Beispielseite verstehe ich aber noch nicht. Der dort stedhende Beispielcode - wo kommt der denn hin, damit er dann im Header erscheint?

Geschrieben von: bkm Sat. 14. June 2008, 10:27

ZITAT(gunwalt @ Sat. 14. June 2008, 11:11) *
.........wo kommt der denn hin, damit er dann im Header erscheint?

z.b.
layout, modul-output, sourcecode -- such dir was aus wink.gif

Geschrieben von: smail Sat. 14. June 2008, 10:32

ZITAT
z.b.
layout, modul-output, sourcecode -- such dir was aus wink.gif


oder kurz gesagt: überall da, wo auch SF-Events funktionieren - und wenn ich mich nicht irre, ist das systemweit wink.gif

Gruß
Jan


Geschrieben von: duffy Sat. 14. June 2008, 11:37

ZITAT(smail @ Sat. 14. June 2008, 11:32) *
oder kurz gesagt: überall da, wo auch SF-Events funktionieren - und wenn ich mich nicht irre, ist das systemweit wink.gif


So isses :-)

Geschrieben von: bkm Thu. 7. August 2008, 11:41

beim plugin löschen und dem erneuten impotieren kommt es zur verdopplung der eventeinträge in der db

uninstall.meta

QUELLTEXT
#Events deinstallieren
DELETE FROM {table_prefix}values WHERE group_name='events' AND key3='headerelement';


Geschrieben von: duffy Tue. 12. August 2008, 13:38

ZITAT(bkm @ Thu. 7. August 2008, 12:41) *
beim plugin löschen und dem erneuten impotieren kommt es zur verdopplung der eventeinträge in der db


Danke für den Hinweis --> http://forum.sefrengo.org/index.php?showtopic=2124

@admins: Diesen Thread bitte ins Archiv

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)