Ankündigung

Einklappen
Keine Ankündigung bisher.

Tag-Feld bringt Fehler wegen Sortierung

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tag-Feld bringt Fehler wegen Sortierung

    Hallo Zusammen,

    ich wollte in meinem CustomElement über Tags den Benutzern die Möglichkeit geben Teilnehmer einer Veranstaltung auszuwählen.
    Hierfür habe ich bei den Tags eigene Wuelle eingestellt und die Tabelle tl_member ausgwählt.

    Wenn ich das CustomElement jetzt verwenden möchte, bekomme ich folgenden Fehler.
    Warum???

    Fatal error: Uncaught exception Exception with message Query error: Unknown column 'sorting' in 'order clause' (SELECT id,id FROM tl_member ORDER BY sorting) thrown in system\modules\core\library\Contao\Database\Statem ent.php on line 295
    #0 system\modules\core\library\Contao\Database\Statem ent.php(264): Contao\Database\Statement->query() #1 system\modules\pct_tabletree_widget\PCT\Widgets\Ta bleTree\TableTree.php(297): Contao\Database\Statement->execute(0) #2 system\modules\pct_tabletree_widget\Contao\Backend PctTableTree.php(139): PCT\Widgets\TableTree->generate() #3 system\modules\pct_tabletree_widget\assets\html\Pa geTableTree.php(41): Contao\BackendPctTableTree->run() #4 {main}
    Vielen Dank für Eure Hilfe.

    Beste Grüße
    Jörg

  • #2
    Mhh... lass mal das Sortierfeld frei.

    Ah ja, hab ich unterschiedliche Schlüsselnamen. Das passe ich an.
    Zuletzt geändert von Tim; 29.06.2016, 08:51.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Hab es geupdated: http://forum.premium-contao-themes.c...e_widget-1-4-1
      http://www.premium-contao-themes.com

      Kommentar


      • #4
        Top, funktioniert. Danke.

        Wäre es auch möglich in den Tags lastname und firstname zu kombinieren, sodass in der Ausgabe sowohl der Nachnem und der Vorname ausgegeben wird?
        Im Wertefeld lässt sich ja lediglich ein Feld auswählen.

        Grüße
        Jörg

        Kommentar


        • #5
          Kannst das Sortierungsfeld weglassen und alles über das Eigene Bedingungsfeld machen.
          http://www.premium-contao-themes.com

          Kommentar


          • #6
            … wie genau müsste das bedingungsfeld angepasst werden, dass aus einer tabelle z.b. vor- und nachname beim listen abgebildet werden (-> #4)?
            man kann ja sonst nur ein feld auswählen und bei z.b. 30x "schmitt" wird das listing unbenutzbar.

            Kommentar


            • #7
              Das Bedingungsfeld steuert die Abfrage welche Einträge überhaupt angezeigt werden z.B. published=1 -> nur Felder wo ein Feld "published=1" ist.
              http://www.premium-contao-themes.com

              Kommentar


              • #8
                … das hatte ich auch so gesehen, dass damit "nur" gefiltert werden kann.
                ich hatte frage #4 und antwort #5 so verstanden, dass darüber aber auch die listing-darstellung beeinflusst werden könnte.
                die frage in #4 zielt ja darauf ab, dass einträge – nur über das eine sortierfeld sichtbar gemacht – etwas ungünstig sind.
                bei vielen gleichnamigen einträgen kann man hier nicht den richtigen erkennen.
                insofern wären listings optimal, die z.b. vor- und nachnamen gleichzeitig anzeigen können.
                wie könnte man das lösen?

                Kommentar


                • #9
                  Für kombinierte oder eigene Sortierungen gibt es das Feld > Eigene SQL Sortierung in jedem Liste-Modul.

                  Über Tags kannst du standardmäßig nicht einfach per sql sortieren. Klar, gehen tut alles, aber nicht out of the box.
                  http://www.premium-contao-themes.com

                  Kommentar


                  • #10
                    hallo und danke für die antworten und deine geduld!
                    … wir reden glaub ich aber immer noch an der ursprungsfrage vorbei.
                    da geht es garnicht um sortieren oder selektieren, sondern schlicht um die darstellung der einzelnen felder in listings, um sie per klickbox auszuwählen.
                    die listings bedienen sich immer nur dem einem feld "sortierfeld", das sie visuell darstellt.
                    as ist aber oft zuwenig, da so die einträge voneinander nicht unterscheidbar sind, wenn sie gleich lauten.
                    man müsste die darstellung der listings flexibler einstellen können – über kombinationen mehrerer felder z.b., um sie besser voneinader unterscheidbar zu machen.

                    und da weiss ich gerade keinen workaround, wie ich in listings von nachnamen alle schmitts und meiers voneinander unterscheiden soll.
                    das war auch mit frage #4 gemeint, vermute ich.

                    Kommentar


                    • #11
                      Keine Ahnung was genau gemeint ist. Wenn man zweimal als Tag das Wort "Hallo" nutzt und dem Anwender präsentiert, dann ist das eher eine Frage der Benennung.
                      Die Tags erlauben die Auswahl einer Wurzel, damit können nur die Kind-Elemente angezeigt werden, was eine Vorauswahl erlaubt und Reduzierung des Baumes.

                      Nein, eine Kombination von Feldwerten für die Liste-Ausgabe im Backend ist (standardmäßig) nicht vorgesehen.

                      Im Frontend kann die Ausgabe beliebig manipuliert werden über das Attribut-Template oder direkt im Haupt-Template der Liste.
                      http://www.premium-contao-themes.com

                      Kommentar


                      • #12
                        ich probiers nochmal, weils wirklich ein handlingproblem bei vielen datensätzen ist.
                        ich hoffe, du hast noch geduld dafür.
                        und … das wäre sicher eine sache, die in einer späteren version funktionieren sollte, wenn es aktuell nicht möglich ist:

                        ich habe eine tabelle mit vielen personen, zwangsläufig dann mit vielen gleichen nachnamen.
                        diese möchte ich als eigene datenbank über "tags->eigene quelle" zugreifbar machen um so z. b. mehrfachauswahlen in den popup-listings zu ermöglichen.
                        wenn ich dort nur ein feld auswählbar habe, das mir meine einträge in den listings anzeigt (nachname …), kann ich diese nicht voneinander ausreichend unterscheiden.

                        das betrifft die backend-auswahlmöglichkeiten – aber dann ja auch in der konsequenz das frontend-edit.

                        wie kann man sowas aktuell lösen? nach meinem wissenstand eigentlich nicht.

                        Kommentar


                        • #13
                          Ich wüsste nicht warum die Tags sich hier aufblähen sollten. Die Tags sollen leicht und simpel bleiben.

                          Die Liste-Ausgabe im Backend kann, wie für jede Contao Tabelle, über den sogn. list_label_callback im DCA Array manipuliert werden. Der greift auch hier und erlaubt die eigenmächtige Manipulation. Das kann projektspezifisch angelegt werden.
                          https://community.contao.org/de/show...el-%C3%A4ndern
                          http://www.premium-contao-themes.com

                          Kommentar


                          • #14
                            Ich habe den label_callback support für das TableTree Widget ergänzt: https://github.com/timgatzky/pct_tab...ases/tag/1.5.4
                            Damit kann auch hier die Ausgabe beliebig manipuliert werden.

                            In meinem Beispiel ergänze ich in Klammern die ID des jeweiligen Tags Eintrags zum Label im Popup für meine CC Tabelle "cc_test".

                            dcaconfig.php
                            Code:
                             if(\Input::get('act') == 'show' && \Input::get('table') == 'cc_test')
                              {
                              $GLOBALS['TL_DCA']['tl_pct_customelement_tags']['list']['label']['label_callback'] = array('MyClass','myTagsLabelCallback');
                              }
                            MyClass.php
                            Code:
                             <?php 
                               
                              class MyClass
                              {
                              public function myTagsLabelCallback($arrRow, $strLabel)
                              {
                              return $strLabel .= ' [id='.$arrRow['id'].']';
                              }
                              }
                            Ausgabe: Klicke auf die Grafik für eine vergrößerte Ansicht

Name: screenshot_2592.jpg
Ansichten: 100
Größe: 31,3 KB
ID: 9298
                            http://www.premium-contao-themes.com

                            Kommentar


                            • #15
                              das. ist. cool. thank you for christmas.

                              (ich muss es nur noch ausprobieren. )

                              Kommentar

                              Lädt...
                              X