In Entwicklung: DataTables

Hier landen ältere Beiträge aus dem Forum "Module & Templates" sowie den dazugehörigen Unterforen. Ruhig auch mal reinschauen.
Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: In Entwicklung: DataTables

Beitrag von Morpheus » Do 5. Jan 2017, 18:00

Hallo, Morpheus Sohn hier :)

habe mir das Problem mal mit der Datumsortierung angeschaut. So wie das aussieht sortiert DataTable grundsätzlich erstmal alphanumerisch. (auch bei deinen Screens oben).
Da es hier aber ein Datum ist klappt das (zumindest in der deutschen Datumsangabe) ja nicht..

Nach ein bissel googlen bin ich hierrauf gestoßen:
https://datatables.net/blog/2014-12-18

Quick&Dirty habe ich dann das im Modul "datatables" im footer.tpl eingebunden und die Datumssortierung hat anschließend funktioniert:

Code: Alles auswählen

{if $dt_plugin_available}
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
<script src="//cdn.datatables.net/plug-ins/1.10.13/sorting/datetime-moment.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){ //DOM Ready
	
	// sort date format
	$.fn.dataTable.moment( 'DD.MM.YYYY' );

    $('table.dt_datatable').DataTable({
{if $dt_json_lang_exists}
        language: {
            url: CAT_URL+"/modules/lib_jquery/plugins/jquery.datatables/i18n/{lower($LANGUAGE)}.json"
        },{/if}
        lengthMenu: [
            [10, 25, 50, -1], [10, 25, 50, "{translate('All')}"]
        ],
        {if $backend}columnDefs: [{
            searchable: false,
            orderable: false,
            targets: [ 0, 1 ]
        }],{else}{if $settings.sort_by_col}
        order: [
            [ {$settings.sort_by_col-1}, '{$settings.sort_order}' ]
        ],{/if}{if $settings.hide_empty == 'Y'}
        hideEmptyCols: true,
        {/if}{/if}
        stateSave: true,
        orderClasses: false,
        pageLength: {$settings.rows}
    });
});
//]]>
</script>
{/if}
Müsste halt jetzt noch irgendwie BlackCat-konform eingebunden werden.
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

Benutzeravatar
shadowcat
Administrator
Beiträge: 3979
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: In Entwicklung: DataTables

Beitrag von shadowcat » Do 5. Jan 2017, 18:52

Ich frag mich nur warum das bei mir auch ohne das funktioniert???
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: In Entwicklung: DataTables

Beitrag von Morpheus » Fr 6. Jan 2017, 08:54

Ich frag mich nur warum das bei mir auch ohne das funktioniert???
Tut es ja gar nicht :lol: :lol: :lol:

Schau mal genau in den Screenshot, es wird nach dem Tag und nicht nach Monat sortiert.
Reihenfolge im Screenshot:
10.06.17
02.01.17
24.04.1970

Was bei einer Liste die ein Datum hat blöd ist, da hätte man doch gerne:
02.01.17
10.06.17
24.04.1970


Zahlen macht er auch einwandfrei, nur halt kein Datum :!:
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: In Entwicklung: DataTables

Beitrag von Morpheus » Fr 6. Jan 2017, 09:12

Version 0.7 getestet

- man kann keine Einträge löschen
- eine Liste als csv eingelesen wird im Backend mit "nicht aktiv" markiert, wird aber trotzdem im Frontend angezeigt.
klickt man auf editieren und speichern wird der grüne Haken angezeigt, Manuelle Einträge werden richtig behandelt!

Wunschliste für future: :roll:

- ein Button für alle Einträge zu markieren

Kannst auf meinem Testsystem dir das anschauen, wenn Du möchtest!
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

Benutzeravatar
shadowcat
Administrator
Beiträge: 3979
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: In Entwicklung: DataTables

Beitrag von shadowcat » Fr 6. Jan 2017, 10:39

Morpheus hat geschrieben:
Ich frag mich nur warum das bei mir auch ohne das funktioniert???
Tut es ja gar nicht :lol: :lol: :lol:
Doch, einmal aufwärts und einmal abwärts. Daß natürlich unterschiedliche Datumsformate dann nicht funktionieren ist klar.

Wie auch immer, mein Problem ist: Ich könnte ja das Plugin reinbauen, aber wie soll dann der Benutzer das aktivieren?
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: In Entwicklung: DataTables

Beitrag von Morpheus » Fr 6. Jan 2017, 14:45

Hier mal den Chat mit meinem Junior
Bitte mal mit den 3 daten 06.01.2016, 02.02.2016, 05.03.2016 testen, dann ist das eindeutig, ob es bei ihr funktioniert.

Du hast doch nichts aktiviert nur eingebunden, oder?

Ja genau nur einmal eingebunden und einmal aufgerufen, der prüft das dann für alle Tabellenspalten also
 $.fn.dataTable.moment( 'dd.mm.YY' );
und dann das
dann hat man die deutschen formate alle abgedeckt
wichtig ist die groß und kleinschreibung von mm und dd
das steht da im forum noch falsch


ach, das y auch kein
$.fn.dataTable.moment( 'dd.mm.yyyy );
 $.fn.dataTable.moment( 'dd.mm.yy' );
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

Benutzeravatar
shadowcat
Administrator
Beiträge: 3979
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: In Entwicklung: DataTables

Beitrag von shadowcat » Fr 6. Jan 2017, 17:24

Naja, dann muß aber immer noch das Datumsformat angegeben werden und vor allem zu den Daten passen.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten