Benutzerspezifische Werkzeuge

Information zum Seitenaufbau und Sprungmarken fuer Screenreader-Benutzer: Ganz oben links auf jeder Seite befindet sich das Logo der JLU, verlinkt mit der Startseite. Neben dem Logo kann sich rechts daneben das Bannerbild anschließen. Rechts daneben kann sich ein weiteres Bild/Schriftzug befinden. Es folgt die Suche. Unterhalb dieser oberen Leiste schliesst sich die Hauptnavigation an. Unterhalb der Hauptnavigation befindet sich der Inhaltsbereich. Die Feinnavigation findet sich - sofern vorhanden - in der linken Spalte. In der rechten Spalte finden Sie ueblicherweise Kontaktdaten. Als Abschluss der Seite findet sich die Brotkrumennavigation und im Fussbereich Links zu Barrierefreiheit, Impressum, Hilfe und das Login fuer Redakteure. Barrierefreiheit JLU - Logo, Link zur Startseite der JLU-Gießen Direkt zur Navigation vertikale linke Navigationsleiste vor Sie sind hier Direkt zum Inhalt vor rechter Kolumne mit zusaetzlichen Informationen vor Suche vor Fußbereich mit Impressum

Artikelaktionen

Howto

PloneFormGen

Adapter

Text- oder HTML-Mail?

In Formular-Ordner unter "Mail-Adapter bearbeiten" können Sie Ihren Adapter auf Text-Mail einstellen:

  1. Mail-Adapter bearbeiten
  2. Typ des Mail-Körpers: "Text"  auswählen
  3. und Standart Mail-Körper-Template wie folgt ersetzen :

<tal:block repeat="field options/wrappedFields"> <div tal:replace="field/fgField/widget/label" />: <div tal:replace="structure python:field.htmlValue(request)" /> </tal:block>

 

Mail-Adapter bearbeiten

Info: Sie können mehrere Mailer-Adapter in einem Formular verwenden sodass ein Mailer-Adapter eine Mail an denjenigen sendet, der das Formular ausgefüllt hat und ein anderer Adapter die Formulardaten an Sie selbst schickt.

 

Beim anlegen eines FormFolders wird der Mail-Adapter automatisch hinzugefügt. Data-Adapter kann nachträglich erstellt werden. Über Mail-Adapter -> Überschreibungen können die Standardfelder überschrieben werden:

 

Subject Expression (Betreff)

python:'Vielen Dank' + request.get('name', 'Standardwert')
python:'HRZ-Shop - Bestellung: ' '+ str(DateTime().strftime('%Y-%m-%d-%H-%M'))
python:'HRZ-Shop - Bestellung: ' + request.get('hostname', ' ')
python:'Bewerbung Stipendium' + ' : ' + request.form['nachname'] + ', ' + request.form['vorname'] wir ausgegeben: Bewerbung Stipendium : Nachname, Testvorname

Dabei ist name die ID eines Feldes, in die der Name desjenigen eingetragen werden soll, der das Formular ausgefüllt hat und Plonista der Standardwert, der eingetragen wird sofern kein Eintrag in name erfolgte.

 

python:'IP Antrag ' + request.get('topic', 'default-value')

Dabei ist topic die ID des Betreffs

 

Sender Expression (Absender)

statisch:

string:Cafer.Travaci@hrz.uni-giessen.de
python:request.form.get('first-name')
python:request.form.get('last-name')

oder dynamisc:

request/form/replyto oder
python:request.form['email']

Empfänger ist der Absender

 

here/memberFullName

here/memberEmail

 

 

Recipient Expression (Empfänger)

statisch:

string:Cafer.Travaci@hrz.uni-giessen.de

oder dynamisch

request/form/replyto oder
python:request.form['email']

 

Danke-Seite

Danke Seite wird automatisch angelegt und bei einer erfolgreichen Aktion den Sender dargestellt. Sie können den Benutzer nach dem senden auf einen andere Seite weiterleiten:

redirect_to:string:bedankungs-seite

Dynamsiche Inhalte zum EMail-Text hinzufügen. Beim Mail-Adapter -> Template können Sie dynamische Inhalte hinzufügen:

<tal:block tal:content="python:request.form.get('first-name', 'Supporter')"/>

Formular-Wizard:

http://plone.org/products/ploneformgen/documentation/how-to/create-a-multi-page-form

http://www.plone-nutzerhandbuch.de/erweiterungen/ploneformgen/erstellen-mehrseitiger-formulare.html

 

Validierung

Bei jedem Feld stehen verschiedene Validierungs-Optionen zur Verfügung. Unter "Personalisierter Validator" eines Feldes können Sie eigenen Validator definieren:

python: test(value=='password', False, 'bitte geben Sie das richtige passwort ein')
python: value != '8' and 'the answer is false'

Beispiel:

Sie haben ein Auswahlfeld in dem Sie den "Status" einer Person erfragen, z.B. Student, Mitarbeiter, Externer
Je nach Angabe variieren die weiteren Pflichtfelder. So ist es z.B. nur sinnvoll die Matrikel-Nr bei Studierenden abzufragen.

python:test(request.form['anfragebereich']!='Student' and
test(value==''), False, 'Bitte geben Sie Ihre Matrikelnummer an')

auch der Mail-Adapter kann validiert werden s. Mail-Adapter -> Execution Condition:

python:request.form['fbnummer'] != 'FB11'

man kann mehrere Adapter erstellen und bei jedem andere Bedingung eingeben.

mailer1 - mail1@hrz.uni-giessen.de 

Bespiel1: python:request.form['fbnummer'] == 'FB11'
Bespiel2: python:test((request.form['fbnummer'] == 'FB11' and request.form['fb-nummer-e'] == '-' ) or (request.form['fb-nummer-e'] == 'FB11'))

mailer2 - mail12@hrz.uni-giessen.de

Bespiel1: python:request.form['fb-nummer-e'] != 'FB11'
Bespiel2: python:test((request.form['fbnummer'] != 'FB11' and request.form['fb-nummer-e'] == '-') or (request.form['fb-nummer-e'] != '-' and request.form['fb-nummer-e'] != 'FB11'))

Feldnamen überprüfen:

Dateien überprüfen:

python:test(request.form['SAPKONTOAUSZUG_file'].filename !='', False, 'bitte geben Sie das richtige passwort ein')
python:test(request.form['ZWISCHENBERICHTHOCHLADEN_file'].filename !='' and request.form['NEUFOLGEANTRAG'] == 'F', False, 'Bitte reichen Sie bei Folgeanträgen einen Zwischenbericht und einen aktuellen SAP-Kontoauszug für das Projekt ein')
python: test('.pdf' in value.filename, False, 'File must be a PDF')
python: test(value.filename, False, 'File must be a File')
python:test(request.form['A2']=='x', False, 'Bitte laden sie die Datei hoch') python:test(test(value.filename!=''), False, 'Bitte laden sie die Datei hoch') python:test(request.form['sz_file'].filename !='', False, 'Bitte laden sie die Datei hoch')
 

 

 

python:test(request.form['SAPKONTOAUSZUG_file'].filename !='', False, 'bitte geben Sie das richtige passwort ein')


Compare two fields

erstelle eine PythonScript

confirmEmailAddress

# Example code:

# The if statement must return a space or a message.  It if is '', it will validate the form even if the fields are empty.
request = container.REQUEST

if request.form['e-mail-address'] != request.form['confirm-e-mail-address']:
    return 'Your email address does not match the confirm email address'
else:
    return False

 

erstelle Custom Validator mit dem Code

python: folder.confirmEmailAddress() 

yada if request.form['fieldA']=='' and request.form['fieldB']=='': return 'You must put a value in either field A or field B' else: return False http://plone.293351.n2.nabble.com/PloneFormGen-Compare-two-fields-td5915271.html

 

Prüfen am Feld

python:test(request.form['email'] == request.form['emailconfirm'], False, 'Bitte geben Sie die richtige E-Mail-Adresse')

 

Value Prüfen

 

python:test(value[:1]=='m', False, 'keine Mitarbeiter')
python:test(value[-14:]=='@uni-giessen.de', False, 'ist keine JLU E-Mail-Adresse.')

einfügen verhindern

<script>
$( document ).ready(function() { $("#emailconfirm").bind('cut copy paste', function(e){
e.preventDefault(); //disable cut, copy, paste from textarea
});
});
</script>



Felder dynamisch überschreiben/erweitern

Felder addieren:

<div tal:content="python:int(request.get('feld1', 'default-value')) + int(request.get('feld2', 'default-value'))">
</div>

 

Standard-Ausdruck bei 'Kurztext-Feld' oder Vokabular der Optionen bei Mehrfach-Auswahl-Feld

Sie können die Felder auch einzeln überschreiben: Feld "Betreff" öffnen -> bearbeiten -> [Überschreibungen]

python:'Thank you ' + request.get('my-field-id', 'default-value')

Mehrfach-Auswahl-Feld (Checkbox oder Liste) - FormMultiSelectionField

[Überschreibung] -> Vokabular der Optionen

python: ((request.form['fb-nummer'],'Yes'),('junk@yourserver','No'))

überschreibt die erste Option, die unter [standard] -> Optionen  eingeben ist.

preview

preview unter Overrides in "Eigene Formular-Aktion"

s.collective.pfgpreview: To use PloneFormGen preview page: set 'preview' in "Custom Form Action" field of FormFolder

 

python:DateTime() 

das aktuelle Datum für das Feld "Date/Time Field" s.https://docs.plone.org/working-with-content/managing-content/ploneformgen/faq.html

 

Script-Adapter:

https://www.python-forum.de/viewtopic.php?t=9435

Über Script Adapter können Sie die Aktion des FormFolders anpassen z.B.:

request.response.redirect('http://webseite.de&request='+fields['request']+'&find_code='+fields['find_code'])
return context.REQUEST.RESPONSE.redirect(url)

leitet die Anfargen an http://webseite.de und gibt die Paramter weiter. Über Formfolder hochgeladene Datei speichern

formFile = request.form['foto_file']
#foto_file = Dateifeld-ID + _file
uploadFolder = getattr(ploneformgen.getParentNode(),'uploads')
#"uploads" ist die ID des Ordners der paralel zum FormGen Ordner liegt
formFileName = 'File-'+ str(DateTime().strftime('%Y-%m-%d-%H-%M'))
uploadFolder.invokeFactory('File',id=formFileName, file=formFile)

Test mit Javascript

<script>
    $(document).ready(function () {
        $("#fg-base-edit input[type=submit]").click(function() {

            var option = $('#A2');
            if (option.val() === '') {
                alert("Please select an item from the list and then proceed!");
                $('#A2').focus();

                return false;
            }
            else return;
        });
    });
</script>

oder

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script>
$(document).ready(function(){
 $('#A2').change(function () {
 var option =  $('#A2').val();
 if (option != '') {
	alert(job);
	}
  })
})
</script>

weitere Links

  • http://www.plone.uni-bonn.de/search?Subject%3Alist=Formulare
  • https://plone-handbuch-universitat-bonn.readthedocs.io/en/latest/faq/formulare/absendeadresse.html
  • https://docs.plone.org/working-with-content/managing-content/ploneformgen/faq.html
  • https://sixfeetup.com/blog/how-to-allow-users-to-create-site-content-using-ploneformgen
  • http://www.plone.uni-bonn.de/faq/formulare-personalisierter-validator
  • http://plone.org/products/ploneformgen/documentation/
  • http://plone.org/products/ploneformgen/documentation/tutorial/creating-a-registration-form/tricks-for-the-email
  • http://plone.org/products/ploneformgen/documentation/how-to/create-a-multi-page-form
  • https://realpython.com/blog/python/handling-email-confirmation-in-flask/
  • https://plone-handbuch-testing.readthedocs.io/de/latest/artikeltypen/ploneformgen/dateifeld.html

Anker setzen

Wenn man vom Anfang eines längeren Artikels zu einer Stelle springen möchte, die weiter unten liegt, muss man die Zielposition als Anker markieren. Dazu bewegt man den Cursor an die gewünschte Stelle und klickt dann auf das Ankersymbol in der Werkzeugleiste.

Anker setzen

Positionieren Sie den Cursor an der Stelle, wo der Link eingefügt werden soll und klicken Sie auf das Ankerwerkzeug in der Werkzeugleiste.

anker_tiny_1
Anker setzen

 Geben Sie den Namen des Ankers an und bestätigen Sie Ihre Eingabe.


Auf Anker verweisen

Zunächst markieren Sie den zu verlinkenden Text und klicken Sie im Editor das Symbol für Link einfügen/verändern und anschließend Anker an.

ankersetzen
Verlinken

Wählen Sie aus der Liste den anker aus und bestätigen Sie Ihre Auswahl. Nachdem speichern verlinkt der link auf den ausgewählten Anker.

inlineMath

$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$

 

 

When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$

 

Dateien direkt zum herunterladen verlinken

In Plone verlinkte Dateien öffnen sich standardmäßig im Browser. Die Dateien können aber auch direkt zum herunterladen angeboten werden.

1. Wählen sie den Link aus oder markieren Sie den extern zu verlinkenden Text,

2. Klicken Sie auf das Symbol für Link einfügen/verändern

 

 

3. Wählen Sie die Option "extern", geben Sie die von der Webseite kopierte URL ein und ergänzen sie den Link mit /download

z.B.

www.uni-giessen.de/link/zur/datei + /download

Der einzufügende Link ist : www.uni-giessen.de/link/zur/date/download

, fertig:

 

 x

CSV in Excel öffnen

CSV Dateien werden von verschiedenen Programmen zum Datenaustausch genutzt. Die einzelnen Zeilen sind durch Komma oder andere Zeichen getrennt.  Sie können im Formular > Mailadapter > unter Bearbeiten und Download-Format das Trennzeichen auswählen. 

  1. CSV Datei öffnen: Als erstes öffnest du deine CSV oder TXT Datei über den Öffnen Dialog von Excel. 

    Erste Spalte markieren.jpg

  2. Wenn die Tabelle nicht richtig angezeigt wird, sind alle Inhalte bestimmt in die erste Spalte dargestellt. Darum musst du jetzt erste Spalte markieren. Das machst du, in dem du auf die Spaltenüberschrift der 1. Spalte klickst.
  3. Im nächsten Schritt, gehst du auf die Registerkarte „Daten“. Dort klickst du dann im Bereich „Datentools“ die Schaltfläche „Text in Spalten“ an. Daraufhin öffnet sich ein Dialogfenster.
    Text in Spalten.jpg

  4. In dem eben geöffneten Dialogfenster kannst du jetzt die Datenstruktur auswählen. Da deine CSV in einzelne Spalten aufgebaut ist und mit einem Trennzeichen getrennt ist, musst du im Schritt 1 natürlich auch „Getrennt“ auswählen. Dann gehst du mit „Weiter“ zu Schritt 2. Anschließend kannst du die Dateiursprung (Zeichencodierung) wie folgt auswählen. Im Schritt 3 kannst du jeder Spalte einen eigenen Datentyp zuweisen.

    Trennzeichen auswählen.jpg

Jetzt sollte deine Tabelle richtig dargestellt werden.

CSV-Import

CSV Dateien werden ja von verschiedenen Programmen zum Datenaustausch genutzt. Die einzelnen Zeilen sind durch Komma oder andere Zeichen (unten Tabstopp) getrennt.  Sie können im Formular > Mailadapter >unter Bearbeiten und Download-Format das Trennzeichen auswählen. Damit sie die Datei einfacher öffnen können, bitte Download-Format  des Datenspeicher-Adapters auf "Tab-Separated Values" umstellen.

Im folgenden die Anleitung wie man eine .csv Datei (im Bespiel Tabstopp getrennt) öffnen kann:

  1. Excel mit einer leeren Tabelle öffnen
  2. Register ‚Daten‘ öffnen
  3. Im linken Bereich ‚Externe Daten abrufen‘ sind die Schaltflächen für den Import der Daten zu sehen, eventuell erst nach einem Klick auf den kleinen, nach unten gerichteten Pfeil, der diesen Bereich öffnet.
  4. Zuständig für das Öffnen von prn-, txt- und csv-Dateien ist die Schaltfläche Aus Text. Nach einem Klick auf die Schaltfläche erscheint eine Dateidialogbox, in der die zu öffnende Datei gewählt wird.
  5. Nach dem Klick auf Öffnen erscheint der Assistent zum Importieren von Daten. Anschließend können sie die Dateiursprung (Zeichencodierung) wie folgt auswählen.

CSV-Import Zeichenkodierung

 

als Trennzeichen wählen sie Tabstopp oder Komma aus.

 

CSV-Import Trennzeichen

Erste Spalte markieren.jpg

Erste Spalte markieren.jpg
Bild in Originalgröße 138 KB | Bild anzeigen Anzeigen Bild herunterladen Download

Text in Spalten.jpg

Text in Spalten.jpg
Bild in Originalgröße 243 KB | Bild anzeigen Anzeigen Bild herunterladen Download

Trennzeichen auswählen.jpg

Trennzeichen auswählen.jpg
Bild in Originalgröße 313 KB | Bild anzeigen Anzeigen Bild herunterladen Download

Barrierefreiheit

Feedback und Kontaktangaben
Die Justus-Liebig-Universität Gießen arbeitet daran, bestehende Barrieren abzuschaffen. Falls Sie bei der Verwendung der Website auf Barrieren stoßen, wenden Sie sich bitte per E-Mail an mit Nennung des Problems sowie einem Link zur betroffenen Seite. Auch Anregungen oder Fragen zur Umsetzung der Barrierefreiheit können Sie gerne an diese Mailadresse schicken.