Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 29. September 2014 09:54

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

[GELÖST] Tabellenerstellung vereinfachen ?

Hallo Forum,

gibt es eine (relativ) einfache Methode, um größere Tabellen erstellen, verwalten und modifizieren zu können ? Ich rede hier von einer dreispaltigen Tabelle, mit ca. 20 Zeilen, die aber nochmals unterteilt sein können. Zur Veranschaulichung folgende kleine Grafik:

     Spalte1          Spalte2         Spalte3
------------------------------------------------
   05.07.14          Beispiel 1        Thema A
                                             Thema B                    Zeile 1
                                             Thema C
------------------------------------------------
   17.09.14           Beispiel 2       Thema C (Wdh.)          Zeile 2
------------------------------------------------
   02.11.14           Beispiel 3       Thema D
                                             Thema E                    Zeile 3

Ich habe das zwar mal mit <table> versucht, allerdings ist es
a) sehr mühselig
b) unübersichtlich
c) langwierig, da sich die Inhalte der Tabelle / Zellen häufiger ändern.

Zudem kommt noch, dass der (vorgesehene) Bearbeiter dieser Tabelle nicht unbedingt ein HTML-Freak ist und ich dann wahrscheinlich jedes Mal, wenn die Tabelle geändert wurde, jede Menge Nacharbeit leisten müsste... hmm


Man ist so alt, wie man sich fühlt...

Offline

#2 29. September 2014 10:11

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.391

Re: [GELÖST] Tabellenerstellung vereinfachen ?

In solchen Fällen empfiehlt sich vielleicht ein Modul bei dem man die Einträge der Tabelle als einzelne Artikel verwaltet und die Ausgabe mit Hilfe eines Templates sehr präzise steuern kann, ohne dass der Bearbeiter mit irgendwelchen Layout/HTML-Sachen in Berührung kommt.

Die Frage ist allerdings zunächst, ob und inwiefern das bei Deiner Tabelle sinnvoll wäre.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 29. September 2014 10:18

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Wunderbar NaN, das klingt genau nach dem, was ich gesucht habe. Die nächsten Fragen, die sichmir stellen, sind daher :
a) wovon hängt es ab, ob der der Einsatz eines Moduls bei mir sinnvoll wäre ?
b) welches Modul käme ggfs. in Frage ?

Vielleicht noch eine zusätzliche Info: ich sehe den Bearbeiter durchaus in der Lage, sich ins Backend einloggen zu können und die notwendigen Änderungen von dort vorzunehmen.


Man ist so alt, wie man sich fühlt...

Offline

#4 29. September 2014 10:36

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.424

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Das wäre mit ListIt doch prima zu machen. Die Tabellenausgabe erfolgt dann über das Summarytemplate. Jeder Datensatz ist 1 eben Zeile.

Meine Kunden lieben z.B. die Hilfetexte, die man zu jedem Feld eintragen kann.

Offline

#5 29. September 2014 11:30

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 862

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Dancer62 schrieb:

a) wovon hängt es ab, ob der der Einsatz eines Moduls bei mir sinnvoll wäre ?


Ob und welche Ausnahmen es geben könnte.

Bei Listit würdest du bei deinem Beispiel einfach drei Felder erstellen (bzw zwei, wenn das Standard-Titelfeld mit benutzt werden soll). Das eine hieße Datum, das zweite Spalte 1, das dritte Spalte 3. Ob einzeiliges Textfeld oder WYSIWYG-Editor, entscheidet die Menge an Inhalt. Für das dritte Feld bräuchtest du wohl schon einen Editor. DAs LAyout kegst du im Template fest. Du kannst dort auch eine Tabelle nehmen, besser wäre aber gefloatete Divs.

Das wars im Prinzip. Du musst halt nur vorher klären, ob es auch mal mehr Spalten geben kann oder vielleicht ein Bild hochgeladen werden soll und jene entsprechend einkalkulieren.

Beitrag geändert von antibart (29. September 2014 11:31)

Offline

#6 29. September 2014 13:15

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Super, Ihr beiden, das beantwortet schon mal eine Menge Fragen von mir. Ich glaube, ich nehme ListIt2.

Und da habe ich auch schon die erste Frage, die aus Deiner Frage - antibart - resultiert: wenn ich das Standard-Titelfeld  nutzen möchte, kann ich das auch vom Typ "Select DateTime" einstellen oder muß ich das Titelfeld als Textfeld mit Datum / Uhrzeit beschreiben lassen (ich bräuchte in jedem Fall die Möglichkeit einer nach Datum / Uhrzeit sortierten Ausgabe) ?


Man ist so alt, wie man sich fühlt...

Offline

#7 29. September 2014 15:32

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 862

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Das Titelfeld ist immer ein einfaches Textfeld. Das lässt sich meines Wissens nicht ändern - außer vielleicht im Core.

Aber du musst den Titel im Template ja nicht benutzen. Erstell einfach ein zusätzliches DateSelect-Feld und benutze das für deine erste Spalte.

Beitrag geändert von antibart (29. September 2014 18:35)

Offline

#8 08. Oktober 2014 07:06

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Tabellenerstellung vereinfachen ?

So, die Tabelle habe ich erfolgreich erstellt und auch schon (fast) komplett formatiert. Ich habe nur noch ein kleines Problem : bei meiner Tabelle werden die senkrechten Rahmen innerhalb der Tabelle (also die Trennungen zwischen zwei benachbarten Zellen) nicht angezeigt, die äußeren und waagerechten Rahmen sowie die der Tabellenüberschrift (hier auch die inneren Rahmen) aber problemlos. Mein CSS sieht so aus :

.listit th, tr, td {
    border: 1px solid #A3A2A2;
    border-collapse: collapse;
    border-spacing: 5px;
    line-height:1.5em;
}

.listit table {
    width:100%;
}

.listit th {
    font-size:1.2em;
    font-weight:700;
    font-family:verdana, arial, 'times new roman';
}

.listit tr {
    vertical-align:top;
}

.listit td {
    padding: 5px 5px 5px 10px;
}

Was habe ich übersehen oder vergessen ? Überschreibt irgendeine Einstellung einen anderen, benötigten Parameter ?


Man ist so alt, wie man sich fühlt...

Offline

#9 08. Oktober 2014 07:22

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 862

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Ich glaube, border-collapse gehört in table, nicht in die Zellen. Ich würde die border-formatierung sowieso erstmal der Tabelle zuführen, statt der einzelnen Zellen.

SElfhtmal sagt:

selfhtml schrieb:

Bei der Angabe collapse kommt es zu Konflikten zwischen Rahmenformatierungen einzelner Zellen. Rahmen, die dabei in jedem Fall Vorrang haben sollen und den gemeinsamen Grenzrahmen der Nachbarzelle überlagern sollen, müssen zu diesem Zweck die CSS-Angabe border-style:hidden erhalten. Rahmen, die in jedem Fall nachrangig sein sollen und von dem Grenzrahmen der Nachbarzelle überlagert werden sollen, müssen die CSS-Angabe border-style:none erhalten.

Beitrag geändert von antibart (08. Oktober 2014 07:26)

Offline

#10 08. Oktober 2014 07:26

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Tabellenerstellung vereinfachen ?

antibart schrieb:

Ich glaube, border-collapse gehört in table, nicht in die Zellen.

Hat leider nicht den gewünschten Erfolg gebracht, genauer gesagt : überhaupt keine (sichtbare) Änderung.  sad


Man ist so alt, wie man sich fühlt...

Offline

#11 08. Oktober 2014 07:27

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 862

Re: [GELÖST] Tabellenerstellung vereinfachen ?

siehe edit.

Ich würde den collapse gar nicht anweden. Einfach nur border und margin für die zellen.


[== css ==]
.listit td {
    border: 1px solid #A3A2A2;
  
    margin: 5px;
    line-height:1.5em;
}

Beitrag geändert von antibart (08. Oktober 2014 07:38)

Offline

#12 08. Oktober 2014 07:57

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Danke antibart, funktioniert sensationell.

Aber nun die nächste Frage : ich habe die Daten in ListIt2 eingegeben und da u.a. auch ein Mehrfachfeld. Den Inhalt dieses Feldes möchte ich untereinander, statt hintereinander, ausgeben. Da die einzelnen Werte durch Kommata getrennt sind, kann ich diese z.B. durch eine Anweisung à la

{$item->fielddefs.beteiligte.value|replace:',':',<br />'}

ersetzen lassen (ja ich weiß, man packt kein HTML-Tag in ein Smarty-Tag, aber es soll ja auch nur der Anschauung dienen tongue ) ?

Beitrag geändert von Dancer62 (08. Oktober 2014 07:58)


Man ist so alt, wie man sich fühlt...

Offline

#13 24. November 2014 11:31

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Ich habe jetzt mal meine Werte aus dem Mehrfachfeld folgendermaßen modifiziert (müsste gemäß Dokumentation zu Smarty 3 auch funktionieren) :

{$item->fielddefs.beteiligte.value|replace:',':'\n'|nl2br|cms_escape}<br />

Leider wird das '\n' mit ausgegeben und den Zeilenumbruch macht er auch nicht an der Stelle...

Habe ich hier etwas zuviel gewollt ('replace' und 'nl2br' und 'cms_escape') oder einfach einen logischen Fehler begangen ?

Beitrag geändert von Dancer62 (24. November 2014 11:32)


Man ist so alt, wie man sich fühlt...

Offline

#14 24. November 2014 12:59

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.391

Re: [GELÖST] Tabellenerstellung vereinfachen ?

Habe ich hier etwas zuviel gewollt ('replace' und 'nl2br' und 'cms_escape') oder einfach einen logischen Fehler begangen ?

Oder einen Tippfehler wink
Es macht einen großen Unterschied, ob man einfache oder doppelte Anführungszeichen verwendet.
\n funktioniert nur mit doppelten Anführungszeichen:

{$item->fielddefs.beteiligte.value|replace:',':"\n"|nl2br|cms_escape}<br />

Aber wenn ich das jetzt richtig verstehe, ersetzt Du Kommas mit "\n" (siehe |replace:',':"\n") und dann "\n" mit "<br/>" (siehe |nl2br).
Warum dann nicht gleich Kommas mit <br/> ersetzen?

ja ich weiß, man packt kein HTML-Tag in ein Smarty-Tag

Warum nicht?
Die "Regel" wäre mir neu.
Ich sehe da in Deinem Fall kein Problem.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline