Simple Machines Community Forum

SMF Support => Language Specific Support => Hilfe zu SMF (German) => Aiheen aloitti: maxigs - tammikuu 13, 2007, 06:04:12 IP

Otsikko: Wie bbcode für Tabellen erweitern?
Kirjoitti: maxigs - tammikuu 13, 2007, 06:04:12 IP
Ich habe gerade etwas experimentiert mit ein paar funktionen für Tabellen:

Zum einen sog. Zebratabellen (Zeilen einer Tabellen werden abwechselnd verschieden eingefärbt, so wie es zb bei Foren in der Übersicht auch üblich ist). Das ganze funktioniert per Java-Script und läuft praktisch automatisch im Browser ab.

Und zum Zweiten mit einer Sortierfunktion für Tabellen, die ebenfalls per Java-Script im Browser ausgeführt wird (Klick auf die Spaltenüberschrift sortiert nach der entsprechenden Spalte)

Für einige Anwendungen wären diese Funktionen sehr praktisch nur lassen sie sich, wegen der minimalen Tabellen-Funktionen des SMF, leider standardmäßig nicht benutzen.

Ideal wäre in etwa folgendes:

[table sortable=yes id=tablle1]
  [caption]Tabellentitel[/caption]
  [tr]
    [th]Spalte 1[/th]
    [th]Spalte 2[/th]
  [/tr]
  [tr]
    [td]Zelle[/td]
    [td]Zelle[/td]
  [/tr]
[/table]


die parameter im -table-
sortable: gibt an ob die tabelle sortierbar sein soll -> muss zu class="sortable" werden
id: gibt der tabelle eine id -> eine sortierbare tabelle MUSS eine id haben, und je nach ansatz braucht die zebra-funktion auch ids für die tabellen (evtl id automatisch vergeben, da der user es nicht einstellen muss?); würde zu id="tabelle1" werden

-caption- (optional) als titel bzw auch tabellen-unterschrift (per css einstellbar)

-th- (entspricht -td-, aber als spaltentitel) -> spaltenüberschrift, die anklickbar für das sortieren wird

wäre toll, wenn diese änderungen in angemessenen rahmen machbar wären, per suchfunktion konnte ich leider keine ansätze finden und bisher habe ich an smf-code noch nicht gearbeitet was das ganze sicher nicht einfacher macht ;)

vielleicht habt ihr ja ein paar tipps für mich ;)
Otsikko: Re: Wie bbcode für Tabellen erweitern?
Kirjoitti: ianus - tammikuu 14, 2007, 06:26:37 AP
Grüße Dich!

Dies ist ein Thema, an dem ich im Moment höchst interessiert bin.

Also, zunächst zu Deiner Frage.

Es gibt einen mod, der sich ,,Table From CSV" nennt.
Den Faden hier im Forum und darin den link zum mod findest Du unter:
http://www.simplemachines.org/community/index.php?topic=18917.0

Die Idee ist ganz einfach.
Es wird ein bb tag benutzt, dieser [.table=$] [./table]
$ ist dabei frei wählbar, es muss nur ein eindeutiges Trennzeichen sein.
Die eingegebenen Daten sehen dann so aus:
Überschrift1 $ Überschrift2 $ Überschrift 3
Daten1 $ Daten2 $ Daten3
Daten1.1 $ Daten2.1 $ Daten3.1

Daraus werden sortierbare Tabellen erzeugt, die auch zeilenweise die Farbe wechseln.
So ist beispielsweise eine Tabelle aus Excel per copy&paste umgewandelt in eine im Forum sortierbare Tabelle.
Dieser mod funktioniert hier im SMF Forum nicht, Du kannst Dir aber auf meiner Seite ansehen, wie das am Ende aussieht. Die Farben und die Formatierung der Schrift habe ich für meine Seite eingestellt, lässt sich aber per CSS eifach ändern und anpassen.

Hier ein Beispiel mit zusätzlichen spoiler-code
http://www.firopolis.de/forum/index.php/topic,1256.0.html
Hier ein Beispiel bei dem links innderhab der Tabelle verwendet wird
http://www.firopolis.de/forum/index.php/topic,813.0.html
Hier ist ein Beispiel für sortierbare Tabellen innerhalb einer normalen Tabelle
http://www.firopolis.de/forum/index.php/topic,593.0.html
Edit. Ich habe eine BB code - Spielwiese (http://www.firopolis.de/forum/index.php/topic,835.0.html). Du kannst dort, auch als Gast ohne Anmeldung, den Tabellencode testen. EIn Beispiel habe ich eben dort hinzugefügt.

Du siehst, so etwas gibt es schon. ABER

Im Moment gibt es diesen mod nur für die SMF Version 1.0.6.
Anguz hat zwar zugesagt, diesen mod für eine 1.1.x Version kompatibel zu machen, doch leider ist bislang nichts in dieser Richtung geschehen.
In seinem mod findet sich der link zu den verwendeten Java-script, doch er hat einen eigenen Parsecode verwendet. Da sich SMF1.1 in dieser Richtung völlig anders verhält, ist weder der parsecode 1.0.x noch der mod von Anguz in irgendeiner Wiese brauchbar. Der 1.1 parser ist aber so grundlegend anders, das ich keine Chance habe, selbst etwas anzupassen.
Auch wird er bbcode völlig anders erzeugt und überhaupt
JAMMER.

Tut mir leid, dass ich Dir keine funktionierende Lösung anbieten kann. Sei versichert, niemand wartet mehr auf diesen mod als ich. Wenn Anguz die Arbeit daran einstellt, muss ich mir andere software suchen.




Otsikko: Re: Wie bbcode für Tabellen erweitern?
Kirjoitti: maxigs - tammikuu 14, 2007, 07:03:26 AP
Hmm gut und schlecht.

Den CSV-Mod kannte ich, aber bisher nur vom überfliegen (da für ne ältere Version hab ich ihn mir ned genauer angesehen).
Für mich wäre dieser ohnehin nur teilweise brauchbar, da es bei den aktuell wichtigen Tabellen um per Hand-gepflegte listen geht und in einer CSV-File ist das Editieren eher unpraktisch entgegen dem strukturierten Code.

Ich habe mir inzwischen einige Ansätze für die Zebra-Tabellen und für Sortierbare Tabellen angesehen und auch wenn diese einige unterschiede haben, in der Art wie sie arbeiten brauchen fast alle eines gemeinsam:

Die Tabelle braucht eine eindeutige Id (da würde ja zur not einfach ein random aus zb dem Timestamp reichen, die Id wird ja sonst nirgends gebraucht) und es muss praktisch immer eine Class vergeben werden (zb "sortable" zum Sortieren bzw "striped" zum Zebra-Formatieren).

Thead und Tbody werden nicht überall gebraucht, wären aber zumidnest optional praktisch zur designtechnischen gestaltung (sich abhebender Header).

D.h.:
Es würde hoffentlich (ich hab noch keines der Scripte in Forums-Umgebung probiert) reichen, wenn:
- die Tabelle beim generieren eine zufällige (eindeutige) ID bekommt
- die Tabelle (ggf im bbCode einstellbar) Classes für "sortable" und "striped" bekommt
ohne am bbCode selbst großartige änderungen machen zu müssen

Ich hab leider bisher am SMF-Code noch nie etwas in der Richtung gemacht, aber wenn schon versucht hast den anderen Mod kompatibel zu machen, weisst du vielleicht wo man ansetzen muss.
Otsikko: Re: Wie bbcode für Tabellen erweitern?
Kirjoitti: ianus - tammikuu 14, 2007, 07:54:02 AP
Grüße!

Ich glaube, ich verstehe nicht so ganz, was Du meinst.
Lainaa
,,Für mich wäre dieser ohnehin nur teilweise brauchbar, da es bei den aktuell wichtigen Tabellen um per Hand-gepflegte listen geht und in einer CSV-File ist das Editieren eher unpraktisch entgegen dem strukturierten Code."

Die Tabellen musst Du immer im Beitrag selbst ändern. Wenn Du diese also ,,per Hand" pflegen willst, geht das nur über das editieren des Beitrags.

Dann stellt sich die Frage, wo Deine aktualisierten Daten her kommen.
Bei mir läuft das so. Ich habe eine Datenbank mit OpenOffice verknüpft. Über ein kleines script füge ich Daten in die Datenbank ein, oder ändere sie. Die OOo Tabelle liest die Datenbank aus und zeigt sie an. Diese Tabelle wird nun kopiert, eingefügt, fertig.

Ich kann mir keine einfachere Möglichkeit vorstellen. Schließlich ist ein Forenbeitrag bei weiten nicht so dynamisch wie eine PHP Seite, bei der direkt die Abfrage an eine Datenbank abgesetzt wird.
Es ist natürlich vorstellbar, einen iframe in einen Beitrag einzufügen, in dem eine entsprechende Seite angezeigt wird. Ich glaube aber nicht, dass so etwas mit SMF funktioniert. In diesem Fall wären vielleicht ein Artikel hilfreich, der im TinyPortal erzeugt wird, den dort lassen sich iframes abbilden.
Es gibt imho auch einen mod, mit dem sich gesonderte Seiten generieren und anzeigen lassen. Dieser mod war irgendwann mal Thema, als es darum gib, eine gesonderte Seite für Nutzungsbedingungen zu haben. Ich habe aber keinen Schimmer, wie die heißt und bin im Moment nicht sonderlich motiviert diesen raus zu suchen.

Gesucht habe ich etwas anderes, den es gibt einen mod für 1.1, der auch eine andere Formatierung der Tabellen zulässt.
http://custom.simplemachines.org/mods/index.php?mod=204

Hierbei werden gezielt Überschriften definiert und grafisch von den Datenzeilen separiert.
Wenn ich mir den dafür notwendigen code ansehe, ist das aber noch wesentlich komplizierter zu pflegen und über dies nicht sortierbar. In meinen Augen ist der ,,Table From CSV mod" wesentlich benutzerfreundlicher und hat nicht nur den gleichen Effekt, sondern bietet zudem die Sortierung.

Zum zuweisen eine TabellenID undden classes.
Anscheinend hat Anguz ja eine Lösung dafür gefunden, die sich dem Kenner vielleicht aus dem PHP code erschließt. Sein Java-script benötigt, zumindest in der Originalversion eine TabellenIP
Das script ist entweder
http://www.kryogenix.org/code/browser/sorttable/
oder
http://www.perlunity.de/javascript/scripts/javascript_0370_main.shtml

Abgesehen von der Hand-Pflegbarkeit, erfüllt sein code also Deine Bedürfnisse.
Da ich keinen Schimmer von PHP habe, kann ich Dir aber nicht verraten, wie man das macht, oder wie Anguz das angestellt hat.

So tut es mir, auch in eigenem Interesse, wirklich herzlich Leid, doch ich kann Dir hierbei nicht mehr weiterhelfen. Ich kann nicht einmal mir helfen.
Otsikko: Re: Wie bbcode für Tabellen erweitern?
Kirjoitti: maxigs - tammikuu 14, 2007, 08:32:21 AP
Was das csv-Editieren angeht:
Wenn man es natürlich in einer extra Datenbank/Datei (Excel like) pflegt ist das ganze deutlich praktischer als das händische Editieren im bbCode. Den csv-Code direkt im Forum zu editieren ist allerdings unpraktisch ;)

Den Tabular-Mod kenn ich - hatte ich auch schon ausprobiert - aber bis auf die hübschen Designs macht er auch nicht das, was ich suche.

Ein einfaches Workaround wäre es einfach das ganze als HTML einzubinden, mit den bekannten Nachteilen.

Praktisch wäre das ganze vor allem, weil man so die selben Tabellen-Designs und Funktionen auch außerhalb des SMF benutzen kann, zb in Wiki oder CMS software, da im Code selbst ja nur ordentliches HTML steht und der Rest extra geregelt wird.
Otsikko: Re: Wie bbcode für Tabellen erweitern?
Kirjoitti: maxigs - tammikuu 17, 2007, 02:03:02 IP
http://eiskaltmacher.de/test/table/index.htm

hier sieht man ein kleines beispiel für die tabelle.

einen kleinen hacken hat es noch: wenn die tabelle sortiert wird, wird das "zebra" noch nicht mit aktualisiert.

jetzt muss ich nur noch rausfinden, wie ich es ins forum bekomme.
Otsikko: Re: Wie bbcode für Tabellen erweitern?
Kirjoitti: WALKLiFE - kesäkuu 20, 2007, 03:24:45 IP
Moin!

Ich finde das "Table From CSV" ziemlich interessant. Leider ist es für Vers. 1.0.6 und ich habe Vers. 1.1.2 am laufen -- geht das dennoch? oder kann man es gangbar machen?
(mit nicht all zu viel Aufwand, da ich mich mit diesen Details von SMF noch nicht befasst habe bisher)

BDD!
WALKLiFE

//edit: oh, ich habe gerade gesehen: http://www.simplemachines.org/community/index.php?topic=18917.msg1100281#msg1100281 (http://www.simplemachines.org/community/index.php?topic=18917.msg1100281#msg1100281)