Modulname:
ContentFlex
Status:
stable
Bechreibung:
Einfügen/Bearbeiten/Löschen/Verschieben von Inhaltselementen und/oder Gruppen
von Inhaltselementen (Inhaltsvorlagen).
Zusätzlich bietet das Modul HTML-Tabellengenerierung aus CSV-Daten,
konfigurierbare Download-Listen als Inhaltselemente oder ein flexibles Link-PopUp-Element.
Features:
- Elemente/Elementgruppen an jeder Stelle einfügen/bearbeiten/verschieben/löschen
- Allgemeine Elemente: {author}, {email}, {created_date} u.v.a.m.
- Elemente: {text}, {textarea}, {image}, {wysiwyg2}, {link}, {file} u.v.a.m.
- Elemente erscheinen beim Bearbeiten in derselben Reihenfolge wie sie im Template vorkommen (Ausnahme File)
- Für die einzelnen Elemente/Elementgruppen kann ein Titel definiert werden, der beim Bearbeiten als Überschrift dargestellt wird
- Bei den Elementen image & file können das Verzeichnis und die Image-Typen bzw. File-typen konfiguriert werden
- Die Anzahl der maximal darzustellenden Einträge kann definiert werden
- Einzelne Elemente/Elementgruppen könne ein und ausgeschaltet werden
- Elemente/Elementgruppen-Templates können in der Reihenfolge verschoben werden ohne Verlust des Inhaltes
- Default-Template wenn das dazugehöhrende Element-Template gelöscht wurde (verhindert den Verlust von Inhalt)
- Spezielles, frei definierbares Element {popup}
- Mittels dem {editbutton}-Element können die Buttons zum Bearbeiten der Einträge frei im Template positioniert werden
- Resourcensparend da Teile des Moduls in zwei externe Dateien ausgelagert sind
- <CMSPHP></CMSPHP> kann in Elementen verwendet werden
- Umschließendes Templates für die Element-Templates
- Über ein spezielles Template kann die Position und die Aussehen der Bearbeiten-Buttons individuell angepasst werden
- Rechtemanagement - Benutzergruppen könne von der Bearbeitung einzelner Elemente/Elementgruppen ein-/ausgeschlossen werden
- Das {table}-Element ermöglicht Eingabe von CSV-artigen Tabellendaten, aus denen entsprechende HTML-Tabellen
automatisch generiert werden. Diese Tabellen sind mittels des mitgelieferten Javascript per DHTML sortierbar
- {filelist}-Element ermöglicht die Ausgabe einer Dateiliste als Inhaltselement
- ... u.v.a.m.
fehlende Funktionen / Erweiterungswünsche:
- Image grösse einstellbar
- Radio-Element
- Checkbox-Element
- {table} mehr CSS-Gestaltungsmöglichkeiten
- {filelist}-Sortieroptionen
- Verbesserte Navigation
Autor(en):
V1.1.2
Reto Haldemann v/o Mistral
V1.2.0 - V1.3.5:
Alexander M. Korn (amk)
Lizenz:
GPL
Benötigte Sefrengo Version:
>= 01.03.01
Installation:
Die beiden neuen Dateien (mod.contentflex.php, mod.contentflex_cache.php)
müssen in das Verzeichnis backend/inc kopiert werden.
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Design->Module". Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsmod"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Modul in das CMS importiert. Das Modul ist nun innerhalb des CMS
nutzbar.
Für die mögliche DHTML-Sortierung von Tabellen ({table}-Element)
muss das beiligende Javascript (sorttable.js) in die Sefrengo-Seite
eingebunden sein. Ferner kann über beiligende css-Datei das visuelle
Erscheinungsbild der Sortierungs-Links innerhalb der Tabelle angepasst
werden.
Dokumentation:
- Ist im Sefrengo-Wiki vorhanden (für Version 1.1.2)
Hinweise zur {editbutton}-CSS-Gestaltung:
.flex2_edit { padding: 2px; font-size: 10px; color: #000000; background-color: #DBE3EF; }
.flex2_edit { color: #cc0000; position:relative; text-align:right; display:block;}
Hinweise zum {table}-Element:
Das Standardtrennsymbol für die Dateneingabe ist eine Pipe ("|")
Sollte keine Tabellenkopfdefinition eingegeben werden, wird die erste Zeile
der normalen Tabellendaten mit Sortierungs-Links versehen.
Bestimmte Spalten können von der Sortierungsmöglichkeit ausgeschlossen
werden, in dem man im Tabellenkopf (oder innerhalb der ersten Zeile der
Tabellendaten, wenn keine Kopfdaten eingegeben werden) die jeweilige
Spaltebezeichnung von eckigen Klammern umschlossen eingibt.
(Bsp: Spalte1|[Spalte 2]|Spalte 3 -> die Spalte 2 würde keine Möglichkeit
der Sortierung bieten.)
Ebenfalls keinen Sortierungs-Link erhalten Kopfspalten ohne Bezeichnung.
Hinweise zum {filelist}-Element:
{filelist} stellt für den Redakteur 2 Methoden zur Pfadwahl der
Dateiliste zur Verfügung:
1. Auswahl über eine Pfad-Selectbox innerhalb der Seite.
(Das generierte Frontend-Formular mit Selectbox kann per CSS gestaltet
werden. Forumlarelemente haben entsprechende Klassenattribute ->
siehe Quellcode)
2. Durch eine Datei + Sefrengo-Dateiauswahl/Resourcebrowser - der Pfad
der Datei dient als Ausgangspunkt für die zu erzeugende Dateiliste.
Bei dieser Methode können zusätzliche Template-Elemente ({fl_selected_...})
genutzt werden, um auch die gewählte Datei einzeln zu nutzen.
Die zwei Möglichkeiten arbeiten unabhängig voneinander und können nicht
gleichzeitig verwendet werden. Auch werden Pfadeinstellungen bei einem
Wechsel der Methoden nicht übernommen!
Es gibt einen hierarchischen Darstellungsmodus. Dabei wird das Template
"Verzeichnisabschluss" abhängig von der Verzeichnisstruktur ausgegeben.
hierarchisch:
Rahmen-START
Verzeichnis-START (home/)
Dateieintrag
Dateieintrag
Verzeichnis-START (home/doc/)
Dateieintrag
Dateieintrag
Dateieintrag
Verzeichnis-ENDE (home/doc/)
Verzeichnis-ENDE (home/)
Rahmen-ENDE
normal:
Rahmen-START
Verzeichnis-START (home/)
Dateieintrag
Dateieintrag
Verzeichnis-ENDE (home/)
Verzeichnis-START (home/doc/)
Dateieintrag
Dateieintrag
Dateieintrag
Verzeichnis-ENDE (home/doc/)
Rahmen-ENDE
Die Ausgabe der Verzeichnis-Templates für die erste
Verzeichnisebene kann unterdrückt werden:
Rahmen-START
Dateieintrag
Dateieintrag
Verzeichnis-START (home/doc/)
Dateieintrag
Dateieintrag
Dateieintrag
Verzeichnis-START (home/doc/pdf/)
Dateieintrag
Dateieintrag
Dateieintrag
Verzeichnis-ENDE (home/doc/pdf/)
Verzeichnis-ENDE (home/doc/)
Rahmen-ENDE
Es können vollständige Pfadangaben oder lediglich einzelne Verzeichnis-
namen angezeigt werden ({filelist}-Template-Elemenent {dirname}).
Das Slash "/" kann mit einem beliebigem Zeichen ersetzt werden.
aus:
home/doc/pdf/
wird:
home » doc » usr »
oder nur:
pdf »
Sofern die Moduloption "Unterverzeichnisse der Ordner anzeigen / auswählen"
gewählt ist, erhält der Redakteur im Fronend eine Checkbox mit welcher er
die Auflistung von Unterverzeichnissen und darin befindlichen Dateien
selbst aktivieren/deaktivieren kann.
bitte beachtet das die pfadeinstellungen der dateiliste (frontendselectbox-methode) der 1.3.5-beta nicht mit der final kompatibel sind. solltet ihr die 1.3.5-beta produktiv eingesetzt haben, müsst ihr die pfade neu einstellen.
Hiho!
Contentflex wird ja langsam fast ein eigenständiges CMS!
Ich find es toll, was es alles kann, aber:
Könnte man das irgendwie modular gestalten, dass man nur die Teile verwendet, die man braucht? Mich erschlägt das ganze so langsam!
Außerdem würde es den Code im Cache reduzieren. Ich denke da an sowas wie die Codeauslagerung bei Mr. List, und man kann in der Modulkonfiguration angeben, was gebraucht wird, und nur das wird included!
Tschüss
Tiggr
die möglichen teile die ausgelagert werden können, werden doch bereits ausgelagert - warum sonst muss man 2 dateien ins backend/inc/ verzeichnis kopieren!?
ansonsten ist das modul doch gerade durch das neue konfig-ui übersichtlicher geworden (hoffe ich) ... gut - zwei größere features (table, filelist) sind nun hinzugekommen (der code dazu ist im übrigen nahezu komplett ausgelagert) - aber wer die nicht nutzen will, muss es ja nicht.
ansonsten finde ich es ja gerade toll das dass modul vieles kann und andere module (tabellen-modul, downloadmanager) oder container fast überflüssig werden. gerade das kann den code verringern und die ausführungszeit der seite verbessern.
Ich finde der Teil der am meisten verbesserungswürdig ist, ist die Bedienfreundlichkeit für den Redakteur. Das Einfügen, Platzieren und Umordnen der Elemente ist wirklich verbesserungsbedürftig. Drag & Drop, Kopieren von Elementen oder Inline Editieren von Texten wäre ein wesentlicher Fortschritt. Allerdings ist das technisch gesehen eine nicht gerade triviale Angelegenheit. Auf jeden Fall bin ich gerade dabei zu eruieren ob und wie sich das, mit vertretbarem Aufwand, realisieren lässt.
sehe ich fast ähnlich ... gerade das kopieren von einträgen fehlt mir. inline-editierung ist vermutlich ein Sefrengo FR und schwierig allein mit ContentFlex zu realisieren.
eine imo verbesserung wäre auch nur einen button zu haben bei welchem sich ein dhtml-menü öffnet - eben für löschen/verschieben etc. + die Elemente/Elementgruppen einfügen. der eigentliche bearbeiten-button würde dann lediglich zum bearbeiten der einträge dienen - bei einem klick darauf ...
zwei dhtml-menüs sind immer sehr hakelig nebeneinander (ich weiss kann man per css ändern - aber manchmal ist auch das nicht einfach)
Wollte nur mal nachfragen, ob http://forum.sefrengo.org/index.php?s=&showtopic=1033&view=findpost&p=8249 mit der Spracheinstellung in der neuen Version behoben ist.
Viele Grüße
Jan
Habe die sortable.js Datei zu meinen Zwecken modifiziert. Es werden nun auch nach dem sortieren noch ungerade und gerade klassen korrekt für die Zeilen angezeigt UND es gibt einen reload-button in der ersten Tabellenzeile.
Das ganze ist etwas speziell (zum Beispiel heißen die CSS Klassen nun mal gerade und ungerade), könnte aber von Interesse sein wenn jemand das gleiche erreichen will!
sorttable.zip ( 2.04KB )
: 1
Feature Request:
Wenn ich ein neues Element anlege springt beim Neuladen der Seite der Browser dirket dorthin.
Es wäre seeeeeehr cool, wenn das beim Bearbeiten genauso wäre.
Mein Mausrad qualt immer wenn ich einen Relaunch für einen Kunden mache und massig Inhalte einwemse!
ich bin mir nicht sicher ob das ein FR für's modul ist oder ehr für SF selbst ... aber ich schau mir das mal an!
p.s.: "einwemse" - was ist das denn!?
Der Infinitv wäre einwemsen. Kommt von wemsen (hauen). Ein Synonym wäre vielleicht eindengeln oder auch reinhauen.
Das ist Ruhrgebietssprache, ähnlich wie Mottek (Hammer) und so.
Ob das allerdings wirklich so geschrieben wird lassen wir mal dahingestellt!
also "wamsen" gibt es auch im duden ... steht für verprügeln. vermutlich kommt dann wemsen daher
Dann wams ich dir doch gleich noch einen Bug rein (und der ist diesmal sicherlich im Modul )
Wenn du ein Sefrengo mit mehreren Projekten im Einsatz hast, dann werden für die Dateiliste auch Ordner aus den anderen Projekten angezeigt (selbst wenn ich auf einen Ordner beschränke und in anderen Projekten ähnlich geschriebene sind).
Ich vermute es fehlt in einer SQL Abfrage ein "where idclient = $idclient" oder sowas!
Grüße Sascha
... ok schau ich mir in kürze mal an.
Supi. Danke!
@amk
Ich benutze natürlich die contentflex 1.4 aber scheinbar gibts dazu kein eigener Beitrag.
Darum meine Frage hier da die 1.3.5 und 1.4 fast gleichwertig sind.
Für die {Fileliste} hast du die {filetypeicon} eingebaut.
Kann man das auch bei den Elementen File irgenwie nutzen? So das ebenfalls automatisch das richtige Icon zum Filedownload angezeigt wird.
*.pdf= Iconpdf
*.doc=Icondoc
usw.
Wo kann man eigene abkürzungen definieren? Ich sollte ein für die Dateiendung *.xlt sollte ich eine Iconzuweisung haben, das Icon habe ich schon im file-icon Ordner. Nur zeigt es mir das nicht an.
Gruss
http://forum.sefrengo.org/index.php?s=&showtopic=1154&view=findpost&p=9098
@amk
Habe ein Problem mit dem {link:1}
In der Eingabemaske im Feld Link:1 wenn man da www.sefrengo.org eingibt wird daraus http://www.sefrengo.org also das http wird immer davor gesetzt das ist nicht sehr schön. Will man den Link doch ohne http.
Im Feld (externer Link) kann man gar nichts direkt eingeben für den Redakteur sehr verwirrend.
Da ist evtl. etwas in der Kongiuration falsch.
Gruss
@andi
Nun hat sich die Verwirrung aufgelöst der Redakteur hat scheinbar angenommen das man ins grau hinterlegt Feld den externen Link eingeben muss.
1. Link:1
2. (externer Link)
3. Linkname:
Diese Angabe (externer Link) unter dem Feld ist ein wenig unglücklich da man annehmen kann das gilt für das untere Feld.
Wenn man nämlich in 3. Feld Linkname nichts eingibt wird automatisch der Eintrag in Feld 1. dargestellt mit dem Protokoll http:// davor.
Sorry, für die Aufregung.
Gruss
Hi,
ersteinmal beste Grüße ein tolles Modul!
Dennoch poste ich hier einen Bug!?
Lt. Featureliste sollte man <CMSPHP></CMSPHP> in Elementen verwenden können.
Grundsätzlich stimmt das
Hier der Bug:
Weder in einem Element noch einem umschließenden Template ist es möglich folgenden Code auszuführen!
... und in anderen modulen/modul-templates in welchen php möglich ist funzt obiger code problemlos?
Könnte ein allgemeiner Bug sein! Mir ist das letztens bei irgendeinem Modul auch schon mal aufgefallen, ich hatte dem aber keine Bedeutung beigemessen.
mist zu langsam
^^ yep danke, ist so.
Gruß
neue version 01.05.00
http://forum.sefrengo.org/index.php?showtopic=1228
Hi,
einige Fragen die mich beschäftigen:
Hallo amk,
schonmal Danke für deine Antworten.
«default-elemente» hätte ich auch schon mehrmals begrüsst. beim anlegen einer neuen seite würden die default-elemente bereits auf der seite integriert sein... damit würde dem redaktor ein arbeitsvorgang erspart bleiben.
gruss andi
ich denke das wäre ein weiteres feature richtung benutzerfreundlichkeit. eines davon wurde ja schon vorgängig gewünscht:
1. nach dem hinzufügen eines elementes auf der seite soll das bearbeiten sogleich möglich sein (ohne zwischenschritt «bearbeiten»)
2. möglichkeit für standard-elemente für neu angelegte seiten definieren (ohne zwischenschritt element einfügen)
3. editieren der texte ohne in den bearbeitungsmodus zu wechseln (wie bei textfeldern und textareas)
gruss andi
ja STam dann sag doch du willst ne seite anlegen wo bereits bestimmte contentflex-einträge - also elemente/elementgruppen - per default eingefügt worden sind! ... entsprechende seite erstellen und diese seite kopieren wäre eine lösung - klar wärs gewiss auch möglich eine entsprechende aktion, die beim ersten aufruf der seite aktiviert wird und eine bestimmte anzahl von elemente/elementgruppen einfügt, zu integrieren.
Ja amk, ich hatte mir extra Zeit gelassen, mit dem frommen Wunsch das du deinen Post
ein wenig umformulierts...
Aber nun, danke für deine Mühe.
Ich dachte nur ich frage mal nach,
ähm, wie jetzt?
Sorry amk,
ich brauchte das dringend und hatte gefragt ob das Möglich ist.
Nun habe ich zumindest die Idee mit den 'Default-Elementen' umgesetzt
und als Hack veröffentlicht!
Wenn Interesse besteht können wir und ja noch einmal über andere/weitere Umsetzungen Unterhalten.
Gruß
ja also von dringend und das du's entsprechend benötigst - davon hast du nichts verlauten lassen - ich dacht es wären fragen die dich eben so beschäftigten ...
... also ich schau mir ContentPrototype in kürze mal an ... bin gespannt! ... 's hört sich gut an, nur es "Prototype" zu nennen is mir zu benutzerunfreundlich. aber das is ja ne andere geschichte ...
Hi amk,
Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)