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

#1 04. Dezember 2015 13:49

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

Datum sortiert ausgeben mit ListIt2

Hallo Forum,

ich habe gleich 3 Probleme:

  • wenn ich Listeneinträge aus ListIt2 nach Datum sortiert ausgeben möchte, so wird offensichtlich zuerst nach Tagen, dann nach Monaten (d.h. 01.01., 01.09., 02.02., 03.01. usw.) sortiert. Ich hätte aber gerne die Sortierung nach dem kompletten Datum (inkl. Jahr) !

  • ich gebe das Ganze als Definitionsliste <dl> aus, wobei der Titel <dt> ein Bild ist, dem dann Dateneinträge <dd> folgen. Die Anzahl der Dateneinträge <dd> ist variabel, so daß auch der Abstand von einem Definitionseintrag zum nächsten variabel ist. In der CSS habe ich Folgendes definiert :

    .listit dl {
        height:180px;
        border-bottom:1px solid #7534AA;
        padding:20px 10px;
    }
    
    .listit dt {
        float:left;
    }
    
    .listit dt img {
        border:1px solid #171717;
    }
    
    .listit dd {
        margin:10px 0 0 150px; /* Wert darf nicht geändert werden */
    }
    
    .listit dd h4 {
        font-size:1.2em;
        font-weight:700;
        font-family: verdana, arial, 'times new roman';
        margin:0;
        padding-left:0;
    }
    
    .listit th, tr, td {
        border: 1px solid #A3A2A2;
        border-spacing: 0px;
        line-height:1.5em;
    }
    
    .listit table {
        width:100%;
        border-collapse: collapse;
    }
    
    .listit th {
        font-size:1.2em;
        font-weight:700;
        font-family:verdana, arial, 'times new roman';
    }
    
    .listit tr {
        vertical-align:top;
    }
    
    .listit td {
        border: 1px solid #A3A2A2;
        margin: 5px;
        line-height:1.5em;
        padding: 5px 5px 5px 10px;
    }

    Setze ich 'height' auf 'auto', so habe ich unten einen schmalen Rand, wenn nur wenige Dateneinträge <dd> enthalten sind. Lasse ich 'height' dagegen auf 180px stehen, so überlappen sich teilweise die Datensätze... sad
    Wie kann ich es einrichten, dass ich mindestens 180px habe, bei Bedarf aber mehr genutzt werden kann ?

  • Ich möchte die Einträge aus einem Mehrfachfeld bei ListIt2 nicht komma-separiert, sondern mit einem Zeilenumbruch (idealerweise mit Zeileneinzug) ausgeben, damit die Einträge "schön" untereinander stehen. Den Trick mit "Replace" kenne ich schon, allerdings fehlt mir der entsprechende Code für den Zeilenumbruch bzw. den Zeileneinzug (falls möglich).

Beitrag geändert von Dancer62 (04. Dezember 2015 13:53)


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

Offline

#2 04. Dezember 2015 14:26

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Datum sortiert ausgeben mit ListIt2

zu 1.

Keine Ahnung, ob das funktioniert (hab das Modul dafür zu wenig im Einsatz), aber vllt so (falls es nicht anders geht)

1. primäres Datumsformat auf Unix Timestamp setzen

2. sortieren lassen (damit umgehst du Probleme mit Tagen, Monaten, Jahren wink)

3. Das Datum mit dem Modifikator cms_date_format nach Wunsch formatieren

zu 2.

http://www.css4you.de/min-height.html

War es das, was du meinst?

zu 3.

Ähmm, replace? Hab da zwar einen Verdacht, aber keine konkrete Vorstellung, was du genau meinst.

Hätte dir da eher ein explode auf das Komma vorgeschlagen wink, womit du aus dem Output ein Array machst und es dann bequem (und nach Wunsch formatiert) in einer Schleife ausgeben kannst, also dem Grunde nach so wie hier

http://www.cmsmadesimple.de/forum/viewt … 032#p35032

Offline

#3 04. Dezember 2015 17:40

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

Re: Datum sortiert ausgeben mit ListIt2

Cybermans Lösung 1.3. ist der einfachste Ansatz, den ich oft verwendet habe.

So rufe ich mein Modul auf:

{ListIt2Termine orderby='custom_datum|ASC'}

Hier vergleiche ich ob das Datum in der Zukunft liegt:

{if $item->fielddefs.datum|date_format:"%Y%m%d" >= $smarty.now|date_format:"%Y%m%d"}
....

In diesem Fall ist mein Feld datum mein Datum, und ich formatiere es auf Ymd 20151204, also heute. Damit kann man zumindest gut vergleichen.

Offline

#4 05. Dezember 2015 21:07

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

Re: Datum sortiert ausgeben mit ListIt2

cyberman schrieb:

zu 1.

Keine Ahnung, ob das funktioniert (hab das Modul dafür zu wenig im Einsatz), aber vllt so (falls es nicht anders geht)

1. primäres Datumsformat auf Unix Timestamp setzen

2. sortieren lassen (damit umgehst du Probleme mit Tagen, Monaten, Jahren wink)

3. Das Datum mit dem Modifikator cms_date_format nach Wunsch formatieren

Yep, das war genau das, was ich gesucht habe - funktioniert prima !

cyberman schrieb:

zu 2.

http://www.css4you.de/min-height.html

War es das, was du meinst?

Super, genau diese Anweisung fehlte mir smile

cyberman schrieb:

zu 3.

Ähmm, replace? Hab da zwar einen Verdacht, aber keine konkrete Vorstellung, was du genau meinst.

Hätte dir da eher ein explode auf das Komma vorgeschlagen wink, womit du aus dem Output ein Array machst und es dann bequem (und nach Wunsch formatiert) in einer Schleife ausgeben kannst, also dem Grunde nach so wie hier

http://www.cmsmadesimple.de/forum/viewt … 032#p35032

Ich bin mir nicht ganz sicher, warum meine Lösung nicht funktioniert - aber ich vermute mal, dass ich irgendwo einen Denkfehler habe (ist mittlerweile auch schon etwas später und der Tag war ziemlich anstrengend...). Hier mein Code :

                        {if $item->ehrungen != ''}
                            <b>Ehrungen :</b> <br />
                            <p class="list4">
                            {assign var='$array_ehrung' value=','|explode:$ehrungen}
                            {foreach from=$array_ehrung item=ehrung}
                                <!-- ehrung -->
                                &bull;&nbsp;&nbsp;{$ehrung}<br />
                            {/foreach}
                            </p>
                        {/if}

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

Offline

#5 06. Dezember 2015 07:37

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Datum sortiert ausgeben mit ListIt2

Hab zwar gerade nichts, um deine Situation nachzustellen, aber probier es mal damit

                        {if $item->ehrungen != ''}
                            <b>Ehrungen :</b> <br />
                            <p class="list4">
                            {$array_ehrung = ','|explode:$item->ehrungen}
                            {foreach from=$array_ehrung item='ehrung'}
                                <!-- ehrung -->
                                &bull;&nbsp;&nbsp;{$ehrung}<br />
                            {/foreach}
                            </p>
                        {/if}

Offline

#6 07. Dezember 2015 06:55

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

Re: Datum sortiert ausgeben mit ListIt2

Danke cyberman, hat prima funktioniert.

Aber jetzt habe ich ein anderes - seltsames - Phänomen beobachtet:
bei zwei aufeinander folgenden Aufzählungen wird die zweite Aufzählung (hier : "übergeordnete Aufgaben") anders dargestellt, als die erste (hier : "Funktionen")...(siehe hier).
Der Code sieht folgendermaßen aus :

                        {if $item->funktion != ''}
                            <b>Funktionen :</b><br />
                            <p class="list4">
                            {$array_funktion = ','|explode:$item->funktion}
                            {foreach from=$array_funktion item='funktion'}
                                <!-- funktion -->
                                &bull;&nbsp;&nbsp;{$funktion}<br />
                            {/foreach}
                            </p>
                        {/if}
                        {if $item->email_ansprechpartner != ''}
                           <b>eMail:</b> {mailto address={$item->fielddefs.email_ansprechpartner} encode='hex'}<br />
                        {/if}

                        {if $page_alias == 'uebergeordnete_aufgaben'}
                            {if $item->uebergeordnet != ''}
                                <b>übergeordnete Aufgaben :</b><br />
                                <p class="list4">
                                {$array_uebergeordnet = ','|explode:$item->uebergeordnet}
                                {foreach from=$array_uebergeordnet item='uebergeordnet'}
                                    <!-- uebergeordnet -->
                                    &bull;&nbsp;&nbsp;{$uebergeordnet}<br />
                                {/foreach}
                                </p>
                             {/if}
                        {/if}

Der wesentliche Code sieht für mich identisch aus, aber er verhält sich unterschiedlich - warum ?  sad Das dazugehörige CSS-Codefragment für "list4":

.list4,
.list5,
.list6 {
     padding: 2px;
     line-height: 1.8em;
     list-style-type: disc;
/* Damit wird eine Textausrückung für die Aufzählung realisiert. Falls das Aufzählungszeichen wieder funktioniert, ist diese Formatierung zu entfernen */
     margin-left:1em;
}

Edit:
Auch bei umgekehrter Reihenfolge der Aufzählungen im Template ändert sich das (prinzipielle) Verhalten nicht : die zweite Aufzählung wird anders dargestellt, als die erste... mad

Edit, die zweite:
Habe probehalber einfach mal einen Absatz (ohne Aufzählungspunkte) mit

eingefügt und siehe da - der Absatz verhält sich wie vorher die erste Aufzählung, die (richtigen) Aufzählungen werden hingegen so dargestellt, wie sie sollen. Ergo muss das Problem wohl in der CSS-Datei liegen, ich weiß nur noch nicht wo. Ich habe das Problem jetzt dadurch erledigt, dass ich den Absatz ganz normal mit

eingefügt habe - und schon läuft's wie geschmiert...  smile
Trotzdem erschließt sich mir das Verhalten nicht und ich halte meine Lösung daher nur für eine Krücke, die ich mangels besserer Systemkenntnisse nicht anders realisieren kann.

P.S.: ich lasse den Thread offen für den Fall, dass mir jemand das Verhalten erklären kann (und will big_smile ).

Beitrag geändert von Dancer62 (08. Dezember 2015 14:46)


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

Offline

#7 11. Dezember 2015 12:32

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Datum sortiert ausgeben mit ListIt2

Und warum hast du das nicht als echte Liste (<ul>...</ul>) gesetzt, sondern nur pseudomäßig über die CSS?

Offline

#8 11. Dezember 2015 16:41

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

Re: Datum sortiert ausgeben mit ListIt2

cyberman schrieb:

Und warum hast du das nicht als echte Liste (<ul>...</ul>) gesetzt, sondern nur pseudomäßig über die CSS?

Weil die echten Listen bei mir momentan nicht funktionieren - irgendwo im CSS der Menüstruktur werden diese Listen deaktiviert und ich weiß noch nicht warum. Außerdem weiß ich nicht, ob ich diese Deaktivierung rückgängig machen / außer Kraft setzen kann (irgendwas war da doch mit der Hierarchie der Anweisungen innerhalb von HTML ...).


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

Offline

#9 13. Dezember 2015 16:10

faglork
arbeitet mit CMS/ms
Ort: Fränkische Schweiz
Registriert: 15. Dezember 2010
Beiträge: 1.152
Webseite

Re: Datum sortiert ausgeben mit ListIt2

Dancer62 schrieb:
cyberman schrieb:

Und warum hast du das nicht als echte Liste (<ul>...</ul>) gesetzt, sondern nur pseudomäßig über die CSS?

Weil die echten Listen bei mir momentan nicht funktionieren - irgendwo im CSS der Menüstruktur werden diese Listen deaktiviert und ich weiß noch nicht warum. Außerdem weiß ich nicht, ob ich diese Deaktivierung rückgängig machen / außer Kraft setzen kann (irgendwas war da doch mit der Hierarchie der Anweisungen innerhalb von HTML ...).

Firebug gibt dir sogar die Hierarchie ...

Servus,
Alex

Offline

#10 13. Dezember 2015 20:45

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

Re: Datum sortiert ausgeben mit ListIt2

faglork schrieb:

Firebug gibt dir sogar die Hierarchie ...

Ähhh, und wie kann ich sie mir ansehen bzw. ändern hmm ???


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

Offline

#11 14. Dezember 2015 15:00

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Datum sortiert ausgeben mit ListIt2

Firebug ist ein Firefox-Plugin. Die Ausgabe erfolgt in der Regel in der Fehlerkonsole (F12).

Oder was meintest du mit deiner Frage?

Ändern musst du es in der CSS wink.

Offline

#12 14. Dezember 2015 15:25

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

Re: Datum sortiert ausgeben mit ListIt2

cyberman schrieb:

Oder was meintest du mit deiner Frage?

Meine Frage zielte darauf ab, wie ich mir die Hierarchie in Firebug anzeigen lassen kann. Ich habe das Plugin bereits seit Längerem installiert, aber so richtig nutzen kann ich es leider noch nicht. Es gibt zwar jede Menge Reiter, aber was sie bedeuten und wo ich ansetzen muss, ist mir noch nicht so ganz klar sad .


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

Offline

#13 14. Dezember 2015 18:42

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 208

Re: Datum sortiert ausgeben mit ListIt2

vielleicht mal ein kurzes tutorial ansehen wink
https://www.youtube.com/watch?v=D626ytfJryI
https://marketpress.de/dokumentation/xt … anfaenger/

da werden die grundlagen sehr schnell vermittelt.

Offline