mod_text "Pimp my Textfeld"

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7199
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 920 Mal

Beitrag von MarkusR »

Neues von mod_text

Durch die Arbeit an mod_map ist mir wieder ein Problem des Templatesystems von ConPresso bewußt geworden:
Bei Templates mit sehr vielen Platzhaltern (ich habe welche mit mehr als 50) verliert man bei der Eingabe schnell die Übersicht. mod_text hat das ja schon mal etwas entschärft, weil simple Eingaben mittels Checkbox, Select etc. erfolgen können.
Dennoch fehlt bei großem Massen manchmal die Übersicht und das Verständnis für das, was gerade einzugeben ist. Etwas helfen die Beschreibungen der Platzhalter. Wenn diese länger sind, dann nervt es etwas, daß der Platzhaltername links oben, das Eingabefeld aber rechts unten steht... dazwischen irgendwie die Erklärung.

Daher gibt es jetzt bei mod_text zwei neue Typen: Beschreibung und Divider.

Zum Divider: Bei diesem Platzhalter wird die Tabelle unterbrochen und mit dem Platzhalternamen als Label neu begonnen.

Zur Beschreibung:
Ist einfach ein Platzhalter, der zwar im Formular erscheint, aber keine Eingabe erlaubt. Somit bleibt nur das Beschreibungsfeld.

Ich bastel noch etwas. Tests auf Anfrage.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Spitzenidee! Damit lassen sich Gruppen von Feldern bilden und man müsste deren Sinn nur einmal für den Redakteur erläutern!

Werde ich gerne in der übernächsten Woche testen.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7199
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 920 Mal

Beitrag von MarkusR »

Dann melde Dich!

Ich habe spontan noch einen frei platzierbaren Absendebutton als Typ definiert, so daß man bei langen Formularen nicht immer bis nach ganz unten scrollen muß...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 02:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Hi Markus,

die Idee ist wirklich sehr gut.

Balu
Bartels.Schöne
ConPresso Support & Development
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7199
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 920 Mal

Beitrag von MarkusR »

Ok, es sind jetzt also drei neue "Platzhalter"-Typen, die gar keine Platzhalter sind :wink:

Beschreibung, Trennung und Absenden... und ja, jetzt gibt es eine vollständige Übersetzung :P

Für frische Installationen: habe ich neben den 4.0.7-Dateien auch Premodded-Files für 4.0.8 beigelegt.

Für Updater: da es kein Modul ist sondern nur eine Modifikation müssen einfach nur die neuen Dateien in Verzeichnis mod_text kopiert werden.

Für alle anderen: ist hier die Anleitung zum Einbauen
http://www.conpresso4.de/_rubric/index. ... d_text#191
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Hallo Markus,
ich hab' jetzt erstmals die Funktion zum Einfügen weiterer Speichern-Buttons verwendet. Leider stieß ich dabei auf einen Fehler: Obwohl als Admin eingeloggt, erhielt ich nur einen Button und dieser war für meine Begriffe mit "Artikel speicherm<input name=" doch recht seltsam beschriftet :)

Die Fehlerursache liegt IMHO in mod_text/includes/form_fields.inc.php in Zeile 37. Dort müsste es korrekt heißen

Code: Alles auswählen

value="' . __('save article') . '"> ' . (($_SESSION['SID_stufe4']==1
statt

Code: Alles auswählen

value="' . __('save article') . (($_SESSION['SID_stufe4']==1
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7199
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 920 Mal

Beitrag von MarkusR »

Da hast Du vermutlich recht.

Ich habe zum Testen die Artikelfreigabe nicht benutzt, daher ist es mir nicht aufgefallen...

Nachtrag:
Ich habe eine neue Version (4.1a) auf meiner Modulseite eingestellt, in der dieser Fehler behoben ist und nun auch premodded files für ConPresso 4.0.9 beiliegen.
http://www.conpresso4.de/_rubric/index. ... c=mod_text
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 13:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Hallo Markus,
ich habe das Modul zum ersten Mal genutzt und findes es klasse -- funktioniert einwandfrei unter CPO4.09.

Jetzt habe ich eine Frage/Bitte:
Lassen sich die "Waehlbaren Werte" bei den Auswahlfeldern auch mit HTML-Code verbinden? Experimentell habe ich so etwas getestet:
"Miskito; <i>Mayangna</i>; Nicaragua; Deutschland; Andere Länder". Im Backend wird "Mayangna" tatsaechlich kursiv ausgegeben, aber im Frontend wie eingetragen (also nicht kursiv, sondern mit den html-tags). Mein Versuch, die Klammern zu maskieren, resultierte (logischerweise, wegen der Semikola) in zusaetzlichen "waehlbaren Werten".

Der konkrete Grund, warum ich das anfrage:
Ich wuerde gerne den Namensbezeichnungen ein kleines Unterscheidungssymbol (Flaggengrafik) voranstellen, aber das scheint so nicht zu gehen.
Und falls moeglich, koenntest du dann auch dieses Textfeld "Waehlbare Werte" mehrzeilig machen?

Vielen Dank, Gerhard
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 13:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Ich habe mir eben nochmals im Handbuch die Hinweise zu den Platzhaltern vom Typ "Text" und dabei "strip_tags" angeschaut.
Wenn ich die Logik richtig verstehe, dann muesste der Parser doch eigentlich HTML-Befehle korrekt verarbeiten, die ich einen einen Text-Platzhalter mit einfuege -- so ich denn *nicht* die Option strip_tags vorgegeben habe. Tut er aber nicht, und zwar weder ueber IE8 noch FF3.5, bzw. die eckigen Klammern werden maskiert und der gesamt Tag wird ausgegegeben.

Wenn das funktionieren wuerde, haette ich eine ganze Reihe neuer Optionen fuer die Gestaltung dieser mehrsprachigen Website.

Hat jemand eine Idee dazu?
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

baluo hat geschrieben:[...]Der konkrete Grund, warum ich das anfrage:
Ich wuerde gerne den Namensbezeichnungen ein kleines Unterscheidungssymbol (Flaggengrafik) voranstellen, aber das scheint so nicht zu gehen.[...]
Gehe ich richtig von der Annahme aus, dass du die Flaggensymbole nur im Frontend gerne hättest? Dann könntest du über das Select-Feld einfach eine CSS-Klasse auswählen lassen. Und im CSS kannst du ja bestimmen, welche (Hintergrund-)Grafik erscheint - das ist so schwer nicht.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7199
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 920 Mal

Beitrag von MarkusR »

baluo hat geschrieben:Ich habe mir eben nochmals im Handbuch die Hinweise zu den Platzhaltern vom Typ "Text" und dabei "strip_tags" angeschaut.
Wenn ich die Logik richtig verstehe, dann muesste der Parser doch eigentlich HTML-Befehle korrekt verarbeiten, die ich einen einen Text-Platzhalter mit einfuege -- so ich denn *nicht* die Option strip_tags vorgegeben habe. Tut er aber nicht, und zwar weder ueber IE8 noch FF3.5, bzw. die eckigen Klammern werden maskiert und der gesamt Tag wird ausgegegeben.

Wenn das funktionieren wuerde, haette ich eine ganze Reihe neuer Optionen fuer die Gestaltung dieser mehrsprachigen Website.

Hat jemand eine Idee dazu?
Irgendwann wird es auch den Weg vom Forum ins Handbuch schaffen...

Im Forum kannst Du alles über den Parameter htmlspecialchars lesen, der dafür seit 4.0.9 RC2 (siehe Ankündigung) benutzt werden kann
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Nachklapp: Schau' dir auch einmal http://community.conpresso.de/viewtopic.php?t=3054 an.

Zusammenfassung:

Da Textfelder eingegebenen HTML-Code mittels htmlspecialchars() umwandeln, sind diese nicht für Codestücke geeignet und man müsste mod_inline dafür missbrauchen.

Manchmal will man aber auch nur kleine Codestücke, bspw. zum Öffnen und schließen einer Tabelle an Anfang und Ende der Rubrik stellen. Hier hilft ein kleines Workaround:

in ../_include/parser_r_text.inc.php (ConPresso 4.0.8) ändert man

Code: Alles auswählen

$_t = htmlspecialchars($_t);
in

Code: Alles auswählen

if (!array_key_exists('html_tags', $parameters)) {
   $_t = htmlspecialchars($_t);
}
und schon kann man mit einem Platzhalter wie

<!-- Text: HTML-Code; html_tags; -->

(HTML-Code ist nur der Platzhaltername und kann wie gewohnt frei gewählt werden) nicht umgewandelten HTML-Code benutzen...

Hinweis: In ConPresso 4.0.9 ist eine entsprechende Funktion so eingebaut, dass htmlspecialchars() bei Text- und einigen anderen Feldern ausgeschaltet werden kann:

<!-- Text: Textfeldname; htmlspecialchars=off; -->

bewirkt, dass HTML-Codezeichen (Entities) im Gegensatz zum Defaultverhalten nicht mehr umgewandelt werden.
Günther Ludwig
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 13:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Mr. Magpie hat geschrieben:Hinweis: In ConPresso 4.0.9 ist eine entsprechende Funktion so eingebaut, dass htmlspecialchars() bei Text- und einigen anderen Feldern ausgeschaltet werden kann:

<!-- Text: Textfeldname; htmlspecialchars=off; -->

bewirkt, dass HTML-Codezeichen (Entities) im Gegensatz zum Defaultverhalten nicht mehr umgewandelt werden.
Danke, Guenther, von diesem Thread habe ich gar nichts mitbekommen.

Es sieht so aus, als waere es, was ich braeuchte.
Ich habe diesen Platzhalter erstellt:

Code: Alles auswählen

<!-- ifSet: Sub_Title; --><h3 ><!-- Text: Sub_Title; htmlspecialchars=off;--></h3><!-- /ifSet -->
bekomme aber noch immer dieses Ergebnis (hier):
Moskita - <i>Miskito</i> - Mosquitia -- zum Namen der Region
Was fehlt? Danke.
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Hattest du den Text schon in dem Feld stehen bevor du die Template-Änderung gemacht hast? Dann ist schon der umgewandelte Text in die Datenbank geschrieben worden.
Günther Ludwig
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 13:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Mr. Magpie hat geschrieben: hilft ein kleines Workaround:
Ich verliere langsam den Ueberblick bei all den Aenderungen ... :?