Erweiterung des Backends

Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Erweiterung des Backends

Beitrag von Black Widow »

Hi!

Ich habe eine kleine Frage:
Und zwar hab ich vor, u.a. eine neue Newsletterfunktionalität zu implementieren (nachher folgen Eventsystem, ..., etc.), die allerdings auch über das Backend zu steuern seien sollte.
Gibt es eine "relativ" einfache Möglichkeit, das Backend um benutzerspezifische Punkte zu erweitern, deren Aussehen und Funktionen man selber programmieren kann?

Vielen dank im Voraus,
Gruß, Black Widow
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

"Relativ" nicht - man muß einige Sachen beachten. Such mal nach den Beiträgen von emergence, da gibts einige Tips. Leider gibts noch keine Anleitung, wie man das Backend erweitern kann :(
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

Hmm, aber was habe ich denn mal mit diesen PlugIns gesehen...???
War da nicht mal sowas in Planung, oder ist da was anderes mit gemeint?
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

prinzipiell ist das Backend modular aufgebaut - mit Plugins werden also nur "Einstellungen" in verschiedenen Tabellen vorgenommen. Oder was genau meinst du?
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

:lol: Genau das ist das Problem, ich kenne mich mit der Struktur von Contenido noch nicht aus, bin erst kurz dabei!
Ich dachte, das PlugIns vielleicht Erweiterungen seien, wie z.B. bei Typo3, dass man entsprechend in einer Stelle im Backend (z.B. Extras -> PlugIns) neue Punkte hinzufügen kann, deren weiteres Aussehen (so wie z.B. der Input-Bereich bei den Modulen) im Backend und deren Funktionalität (ähnlich dem Output-Bereich der Module) selbst geproggt werden könnte.

Aber über die Struktur bin ich mir im Moment noch alles anderes als im Klaren! :oops:
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Leider sind wir noch nicht so weit - Plugins kann man zwar als solche einbinden, aber der Installationsmechanismus steht noch aus.
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

Und wie müsste man diese dann manuell einbinden?
Und vorallem, wie müsste man sie programmieren (in welcher Form), sprich: wie/worüber lege ich Aussehen und Funktionalität fest?
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Kommt drauf an, wie man Plugin definiert. Da würden wir aber demnächst mal eine Doku erstellen, weil man über dieses Thema gut mehrere hundert Seiten schreiben könnte :)
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

Hmm ...
Bräuchte es aber "relativ" (Du merkst, ich habs mit dem Wort :lol:) eilig, da ich im Moment halt unsere neue Firmenseite auf Contenido aufbaue.
Also zur Not gibts halt nen speziellen Mitarbeiterbereich, aus dem man es dann verwalten kann, aber im Backend wär es "sauberer"! :wink:
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ich hab mal fix was zusammengeschrieben:

http://contenido.de/forum/viewtopic.php?t=2141

Grüße,
Timo
SVENY

Beitrag von SVENY »

Ahoi,

mal ganz krass fettes Dankeschön für Hinweis am Schluß für Debugoption . Ich hätte mich dumm und dubbelig gesucht bei meinem kleinen Problem, zumal ich grade erst angefangen habe mit Contenido zu arbeiten. So hab ich zu guter letzt fünf Minuten aufwenden müssen und die Sache war aus der Welt. Hätt isch dem bloss früher gewußt, hmmmmffffff. ;o)

Ich hab mir einen zusätzlichen Menüpunkt erstellt unter Style namens HTML-Templateeditor, weil mir die Möglichkeit fehlte die HTML-Templates über den Browser zu bearbeiten. Macht genau das selbe wie der Styleeditor nur eben mit HTML-Dateien im Ordner templates/ . Ich habs , um mir eine spätere Fehlersuche zu erleichtern dokumentiert. Eine gute Vorlage dazu war die Beschreibung von Gandresch für den Einbau seines Tooltipmoduls und die direkte Vorlage natürlich der Styleeditor selbst.

Wenn Interesse besteht überarbeite ich meine Doku ein wenig und poste sie bei nächster Gelegenheit an dieser Stelle.

Gruß
Sven
Gandresch
Beiträge: 20
Registriert: Mo 7. Jul 2003, 10:58
Kontaktdaten:

Beitrag von Gandresch »

Vielen Dank SVENY für dein Feedback,

ich hoffe ich konnte dir mit der Beschreibung ein wenig weiterhelfen, wenn es dir nichts ausmacht, es besteht Interesse für die Doku...


Gruß

Gandresch
[/u]
SVENY

Beitrag von SVENY »

N'obend,

jau, du hast mir in der Tat sehr geholfen mit deiner Anleitung, wäre so sonst auf keinen Fall so schnell vorangekommen vor allem was die Einträge in der DB angeht, das war schon eine große Hilfe.
Wenn nichts dazwischen kommt hab ich morgen abend Zeit mich dranzusetzen und poste das Ergebnis dann hier.

So long
Sven
Sveny
Beiträge: 1
Registriert: Mi 29. Okt 2003, 14:09
Kontaktdaten:

HTML-Templateeditor

Beitrag von Sveny »

So jetztet,

ich hoffe es haben sich keine Fehler eingeschlichen.
Et voilà:

Code: Alles auswählen

Einfügen eines zusätzlichen Feldes im Bereich Style zum Editieren von Templates über den Browser
 								      
Beschreibung:
Der HTML-Templateeditor hat die selbe Funktion und Optik wie
der Styleeditor.

Zu bearbeitende Dateien: 8

contenido/main.php
contenido/external/wysiwyg/spaw/config/spaw_control.config.php
contenido/includes/cfg_language_de.inc.php
contenido/includes/config.php
contenido/includes/functions.general.php
contenido/includes/include.backendedit.php
contenido/locale/de_DE/LC_MESSAGES/contenido.po
contenido/xml/lang_de_DE.xml

Neue Dateien: 8

contenido/inlcudes/functions.templ.php
contenido/includes/include.templ_edit_form.php
contenido/includes/include.templ_files_overview.php
contenido/includes/include.templ_left_top.php
contenido/templates/standard/template.templ_edit_form.html
contenido/templates/standart/template.templ_files_overview.html
contenido/templates/standard/template.templ_left_top.html
contenido/templates/standart/template.templ_new_form.html

Die 'neuen' Dateien sind die umbenannten und bearbeiteten Dateien des Styleeditors.

Einträge in der Datenbank: 15 neue Zeilen

con_area 1 Zeile
con_actions 3 Zeilen
con_files 5 Zeilen
con_frame_files 5 Zeilen
con_nav_sub 1 Zeile

Konfigurationsdetails:
Gettext ist an
Benutzter Editor ist Spaw

1.
Zip-file mit den neuen Dateien downloaden http://www.doomshine.de/temp/HTML-Templateeditor.zip

2.
Folgende Dateien aus dem Zip-File in den Ordner contenido/includes/ kopieren:

functions.templ.php
include.templ_edit_form.php
include.templ_files_overview.php
include.templ_left_top.php

Folgende Dateien aus dem Zip-File in den Ordner contenido/templates/standard/ kopieren:

contenido/templates/standard/template.templ_edit_form.html
contenido/templates/standart/template.templ_files_overview.html
contenido/templates/standard/template.templ_left_top.html
contenido/templates/standart/template.templ_new_form.html

3.
Ordner erstellen

In eurem Mandantenverzeichnis erstellt ihr einen neuen Ordner mit dem Namen templates analog zu den bereits bestehenden Ordnern js und styles. Die Rechte setzt ihr auf 777.

4.
Dateien bearbeiten

Die Zeilennummern stehen jeweils davor und dienen zur Orientierung. Im Einzelfall können die Zeilennummern abweichen, wenn zum Beispiel schon etwas an der Datei verändert wurde.

contenido/main.php
-----------------------------------------------------------------------------------------
Suche folgende Zeile
148 $cfgClient[$db->f("idclient")]["js"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "js/";
In neuer Zeile einfügen
$cfgClient[$db->f("idclient")]["templ"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "templates/";

contenido/external/wysiwyg/spaw/config/spaw_control.config.php
-----------------------------------------------------------------------------------------
Suche folgende Zeile
54 $cfgClient[$db->f("idclient")]["js"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "js/";
In neuer Zeile einfügen
$cfgClient[$db->f("idclient")]["templ"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "templates/";

contenido/includes/cfg_language_de.inc.php
-----------------------------------------------------------------------------------------
Suche folgende Zeile
152 $lngAct["style"]["style_delete"]   = i18n("Delete style");
In neuer Zeile einfügen
$lngAct["templ"]["templ_edit"]         = i18n("Modify templ");
$lngAct["templ"]["templ_create"]       = i18n("Create templ");
$lngAct["templ"]["templ_delete"]       = i18n("Delete templ");

contenido/includes/config.php
-----------------------------------------------------------------------------------------
Suche folgende Zeile
232 $cfg['templates']['style_new_form']       = 'template.style_new_form.html';
In neuer Zeile einfügen
$cfg['templates']['templ_files_overview']	 = 'template.templ_files_overview.html';
$cfg['templates']['templ_edit_form']     	 = 'template.templ_edit_form.html';
$cfg['templates']['templ_left_top']      	 = 'template.templ_left_top.html';
$cfg['templates']['templ_new_form']      	 = 'template.templ_new_form.html';

contenido/includes/functions.general.php
-----------------------------------------------------------------------------------------
Suche folgende Zeile
877 $cfgClient[$db->f("idclient")]["js"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "js/";
In neuer Zeile einfügen
$cfgClient[$db->f("idclient")]["templ"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "templates/";

contenido/includes/include.backendedit.php
-----------------------------------------------------------------------------------------
Suche folgende Zeile
$cfgClient[$db->f("idclient")]["js"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "js/";
In neuer Zeile einfügen
$cfgClient[$db->f("idclient")]["templ"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "templates/";

contenido/locale/de_DE/LC_MESSAGES/contenido.po
-----------------------------------------------------------------------------------------
Suche folgende Zeile
10 "Content-Transfer-Encoding: 8bit\n"
In neuer Zeile einfügen

msgid "Create templ"
msgstr "HTML-Template erstellen"

msgid "Modify templ"
msgstr "HTML-Template bearbeiten"

msgid "Delete templ"
msgstr "HTML-Template löschen"

msgid "Do you really want to delete the following HTML-Template:<br><br>%s<br>"
msgstr "M&ouml;chten Sie das folgende HTML-Template wirklich l&ouml;schen:<br><br><b>%s</b>"

contenido/xml/lang_de_DE.xml
-----------------------------------------------------------------------------------------
Suche folgende Zeile
28 <jseditor>Skripteditor</jseditor>
In neuer Zeile einfügen
<templateeditor>HTML-Templateeditor</templateeditor>

-----------------------------------------------------------------------------------------

5.
Dateien speichern und uploaden

6.
Einträge in der Datenbank

Eintrag in Tabelle <Präfix>_area:
-----------------------------------------------------------------------------------------

Feldname	    Wert

idarea         Hier einen noch nicht belegten Wert wählen.In meinem
               Fall habe ich 67 gewählt.Diesen Wert notieren, er wird
               an anderer Stelle noch gebraucht
parent_id      0
name           templ
relevant       1
online         1

Notieren: idarea - Eingetragener Wert ( im Beispiel 67)




Eintrag in Tabelle <Präfix>_actions:
-----------------------------------------------------------------------------------------

Feldname	 	 Wert

idaction    	 Hier einen noch nicht belegten Wert wählen.Am besten einen
            	 Wert höher als der letzte Tabelleneintrag wählen.In meinem
            	 Fall habe ich 400 gewählt.
idarea          Hier den gewählten Wert aus der Tabelle <Präfix>_area
                aus dem gleichnamigen Feld idarea eintragen.(67
                bei mir)
alt_name     	kein Eintrag ( sollte laut Timo's .pps
                aber mit 0 belegt sein)
name       	  templ_create
code        	 kein Eintrag
location    	 kein Eintrag
relevant        1


Neue Tabellenzeile

Feldname        Wert

idaction        analog zu obigem Eintrag die nächste freie
                Zahl eintragen (wäre hier 401)

idarea          Hier den gewählten Wert aus der Tabelle <Präfix>_area
                aus dem gleichnamigen Feld idarea eintragen.(67
                bei mir)
alt_name        siehe oben
name            templ_delete
code            Kein Eintrag
location        Kein Eintrag
relevant        1

Neue Tabellenzeile

Feldname        Wert

idaction        analog zu obigem Eintrag die nächste freie
                Zahl eintragen (wäre hier 402)
idarea          Hier den gewählten Wert aus der Tabelle <Präfix>_area
                aus dem gleichnamigen Feld idarea eintragen.(67
                bei mir)
alt_name        siehe oben
name            templ_edit
code            templEdit($file,$code);
location        kein Eintrag
relevant         1


Eintrag in Tabelle <Präfix>_files:
-----------------------------------------------------------------------------------------

Feldname		Wert

idfile      	Hier einen noch nicht belegten Wert wählen.Am besten einen
            	Wert höher als der letzte Tabelleneintrag wählen.In meinem
               Fall habe ich 151 gewählt.Diesen Wert notieren, er wird
            	an anderer Stelle noch gebraucht
idarea      	Hier den gewählten Wert aus der Tabelle <Präfix>_area
            	aus dem gleichnamigen Feld idarea eintragen.(67
            	bei mir)
filename    	functions.templ.php
filetype    	inc

Notieren : idfile - Wert(im Beipiel 151), functions.templ.php

Neue Tabellenzeile

Feldname		Wert
				
idfile	     analog zu obigem Eintrag die nächste freie
		  	   Zahl eintragen (wäre hier 152)
idarea		  Hier den gewählten Wert aus der Tabelle <Präfix>_area
				  aus dem gleichnamigen Feld idarea eintragen.(67
				  bei mir)
filename		include.templ_edit_form.php
filetype		main

Notieren: idfile - Wert(im Beipiel 152), include.templ_edit_form.php

Neue Tabellenzeile

Feldname		Wert

idfile	     analog zu obigem Eintrag die nächste freie
			     Zahl eintragen (wäre hier 153)
idarea		  Hier den gewählten Wert aus der Tabelle <Präfix>_area
				  aus dem gleichnamigen Feld idarea eintragen.(67
				  bei mir)
filename		include.templ_files_overview.php
filetype		main

Notieren: idfile - Wert(im Beipiel 153),include.templ_files_overview.php

Neue Tabellenzeile

Feldname		Wert

idfile		  analog zu obigem Eintrag die nächste freie
				  Zahl eintragen (wäre hier 154)
idarea		  Hier den gewählten Wert aus der Tabelle <Präfix>_area
				  aus dem gleichnamigen Feld idarea eintragen.(67
				  bei mir)
filename		include.templ_left_top.php
filetype		main

Notieren: idfile - Wert(im Beipiel 154) ,include.templ_left_top.php

Neue Tabellenzeile

Feldname		Wert

idfile	     analog zu obigem Eintrag die nächste freie
			     Zahl eintragen (wäre hier 155)
idarea		  Hier den gewählten Wert aus der Tabelle <Präfix>_area
				  aus dem gleichnamigen Feld idarea eintragen.(67
				  bei mir)
filename		right_top_blank.php
filetype		main

Notieren: idfile - Wert(im Beipiel 155),right_top_blank.php

Eintrag in Tabelle <Präfix>_frame_files:
-----------------------------------------------------------------------------------------

idframe gibt den Frame an in dem die entsprechende Datei ausgegeben werden soll.
Mögliche Werte sind hier 1,2,3,4.

1 bezeichnet den linken oberen Frame
2 bezeichnet den linken unteren Frame
3 bezeichnet den rechten oberen Frame
4 bezeichnet den rechten unteren Frame

idfile bezeichnet die Datei die in dem in idframe angegebenen Frame ausgegeben werden soll.
Die Werte für idfile und die Namen der entsprechenden Dateien haben wir uns ja notiert, oder ? ;o)

Feldname     Wert

idframefile   Noch nicht belegten Wert wählen (bei mir 159)
idarea        Hier den gewählten Wert aus der Tabelle <Präfix>_area
              aus dem gleichnamigen Feld idarea eintragen.(67
              bei mir)
idframe       1
idfile        Wert für include.templ_left_top.php (bei mir 154)

Neue Tabellenzeile

Feldname     Wert

idframefile   Nächsten freien Wert wählen(bei mir 160)
idarea        Hier den gewählten Wert aus der Tabelle <Präfix>_area
              aus dem gleichnamigen Feld idarea eintragen.(67
              bei mir)
idframe       2
idfile        Wert für include.templ_files_overview.php (bei mir 153)

Neue Tabellenzeile

Feldname     Wert

idframefile   Nächsten freien Wert wählen(bei mir 161)
idarea        Hier den gewählten Wert aus der Tabelle <Präfix>_area
              aus dem gleichnamigen Feld idarea eintragen.(67
              bei mir)
idframe       3
idfile        Wert für right_top_blank.php (bei mir 155)

Neue Tabellenzeile

Feldname     Wert

idframefile   Nächsten freien Wert wählen(bei mir 162)
idarea        Hier den gewählten Wert aus der Tabelle <Präfix>_area
              aus dem gleichnamigen Feld idarea eintragen.(67
              bei mir)
idframe       4
idfile        Wert für functions.templ.php bei mir 151)

Neue Tabellenzeile

Feldname     Wert

idframefile   Nächsten freien Wert wählen(bei mir 163)
idarea        Hier den gewählten Wert aus der Tabelle <Präfix>_area
              aus dem gleichnamigen Feld idarea eintragen.(67
              bei mir)
idframe       4
idfile 154    Wert für include.templ_edit_form.php (bei mir 152)

Eintrag in Tabelle <Präfix>_nav_sub:
-----------------------------------------------------------------------------------------

Feldname	 Wert

idnavs       Noch nicht belegten Wert wählen ( bei mir 54)
idnavm       2
idarea       Hier den gewählten Wert aus der Tabelle <Präfix>_area
             aus dem gleichnamigen Feld idarea eintragen.(67 bei mir)
level        0
location     navigation/style/templateeditor
online       1

7.
Flasche Bier köpfen, Füße hoch legen und den Feierabend geniessen ;o) Wohlsein!
Zuletzt geändert von Sveny am Fr 31. Okt 2003, 12:32, insgesamt 3-mal geändert.
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

Hi Leute!

Erstmal danke an alle!
Jetzt werd ich mal schauen wie ich das auf mein Problem umstricken kann! :P
Aber mit meiner Seite insgesamt komm ich ganz gut voran! Bin nur noch nicht an dem Punkt, wo meine angestrebte Backend-Modifikation ansteht. Das kommt die Tage noch...

Also nochmal, VIELEN DANK!

Black Widow
Gesperrt