Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zur Konfiguration bei Produkt > Kategoriezuordnungen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zur Konfiguration bei Produkt > Kategoriezuordnungen

    Hallo Forum,

    Ich habe jetzt schon so viele Versuche gemacht und komme nicht auf die Lösung.
    Die Ausgangslage ist m.E. eigentlich üblich. Ich habe eine Reihe von Trainings die ich anbiete. Diese Trainings sind verschiedenen Kategorien zuzuordnen. Eine vereinfachte Form sieht so aus: > Softskills
    > Sales Training
    - Der Cold Call
    - Der Confirmation call
    > Management Training
    - Das Bewerbungsgespräch
    - Das Gehaltsgespräch
    - Was sind SoftSkills?
    > Technical Training
    > Microsoft
    > Linux
    > Oracle
    - Netzwerke allgemein
    - HTML5 und CSS
    > Office Trainings
    Die ">" sind ein Zeichen für die Kategorie
    Die "-" stellen das Produkt dar.
    Die entscheidende Besonderheit ist, dass die Produkte in beliebigen Kategorien liegen können.
    (In Wirklichkeit wird das später über 4 Ebenen gehen aber das ist noch ein anderes Problem. Das Grundproblem lässt sich auch hier mit den 2 Ebenen schon zeigen)
    "Normalerweise" würde ich das in CC jetzt mit 3 Tabellen darstellen.
    Tabelle 1 wäre die Erste Kategorie und enthält in diesem Beispiel "Softskills", "Technical Training" und "Office Training".
    Tabelle 2 wäre eine Kindtabelle zu Tabelle 1 und beinhaltet einen Eintrag für die Elterntabelle und die Parent ID und die entsprechenden Einträge aus dem obigen Beispiel, jeweils mit der entsprechenden Parent ID der Datensätze aus Tabelle 1.
    Tabelle 3 würde dann die Trainings (die eigentlichen) Produkte enthalten. Zusätzlich hätte auch diese Tabelle Felder, die die jeweilige Parenttabelle und die entsprechenden ID aus der Parent Tabelle beinhalten würde.
    Leider bekomme ich diese Konstellation mit dem CustomCatalog einfach nicht dargestellt. Es scheitert letztlich daran, dass ich die Tabelle 3 nicht entsprechend verbinden kann. Ich müsste für diese Konfiguration, nach dem was ich von CC bisher kenne, unterschiedliche Elterntabellen einsetzen, was nicht geht. Ich konnte sie mehrfach als Kindtabelle eintragen und konnte dann auch sowohl aus Ebene 1 als auch aus Ebene 2 Trainingsprodukte eintragen ... Jedoch überschrieben die Produkte aus einer anderen Ebene komplett dann alle anderen Einträge :-(.
    Irgendwie scheine ich noch komplett auf dem Holzweg zu sein. Muss ich das ganz anders aufziehen? Oder was habe ich vergessen zu setzen?
    Die Beispiele aus dem Demo Live System fand ich jetzt leider nicht so passend. Zuerst dachte ich, dass Händlerverzeichnis entspricht meiner Konstellation aber das hat leider die große Vereinfachung, dass die Händler immer in einer Stadt angesiedelt sind. Da meine Produkte auf unterschiedlichen Ebenen liegen, kann ich das nicht anwenden.

    Vielen Dank für schon jetzt für ein paar Erleuchtungen!

  • #2
    Hi,
    ok, muss man sich erstmal reindenken. Vorab, Du hattest ja den Fehler im Backend. Der ist mit der aktuellen Version behoben. Verschachtelungen, egal wie tief, geht wieder.

    Jetzt hier her:
    Vorab, macht es Sinn so tief zu verschachteln oder geht es einfacher.

    Hilf mir/uns mal in dem Du nicht sagst was/wie du es gerade machst, sondern wie es fertig aussehen soll. Also wie bedient es der User später im Frontend. Wie soll es dargestellt werden. Oft ist dieser Ansatz besser als gleich in die Konstruktion zu gehen. Ich denke es gibt hier eine fluffige Lösung.


    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ja, danke für das Update, die Verschachtelungen in beliebiger Tiefe gehen nun > Danke für den schnellen Fix.
      Grundsätzlich muss man wahrscheinlich nicht so tief verschachteln. DB technisch könnte ich das sicher auch mit einer Tabelle für die Kategorien und einer für die Produkte auskommen aber ich dachte für CC wäre es der bevorzugte Weg das über Verschachtelungen hinzubekommen.
      Also, was will ich erreichen? Ich will ein Angebot über Videoseminare darstellen. Es gibt auf der einen Seite verschiedenste Kategorien/Produktgruppen, durch die der spätere Betrachter sich in einer Menüstruktur auf der Webseite durchklicken können soll (Es muss also entsprechende Seiten in Contao geben). Er soll also sehen, welche Arten von Trainingsgruppen es gibt, dort hineinwechseln können und dort ggf.weitere Unterkategorien sehen/auswählen können. Der Teil ist soweit klar und funktioniert dank des letzten Updates des CC nun auch problemlos. Die Tiefe ist noch etwas unbekannt, ca. 3 bis max 4 Ebenen. wohl. Ich arbeite an der Stelle noch mit dem "klassischen" Lister Modulansatz. Wenn aus der Menüstruktur heraus eine Kategorie gewählt wird, dann soll auf der Webseite im Mainbereich auch alle darin enthaltenen Kategorien, mit etwas zusätzlichen Informationen dazu, angezeigt werden. Eigentlich genau so wie es auch in dem Händlerverzeichnis Beispiel der Demoseite gemacht wird.
      Das funktioniert auch alles soweit wunderbar.
      Nun kommen die Seminare ins Spiel. Am Ende der Auswahl des Users soll er natürlich das jeweilige Seminar und Detailinformationen zum Inhalt des Seminars sehens.
      Die Seminare können in allen Kategorien stecken. Wenn der Benutzer also z.B. Softskills, die erste Kategorieebene öffnet, dann soll er eine Liste bekommen, die alle weiteren Unterkategorien UND die in der Kategorie enthaltenen Seminare auflistet (z.B. über 2 Listenmodule in dem Artikel der jeweiligen Seite). Klickt er auf eine Unterkategorie, wechselt er dort hinein und die darin enthaltenen Unterkategorien und/oder Seminare werden aufgelistet. Wenn es keine Unterkategorien mehr gibt, dann werden nur die in der gewählten Kategorie enthaltenen Seminare angezeigt.
      Klickt man auf ein Seminar, dann werden die Detailinfos zu dem Seminar mit einem Lesermodul angezeigt.
      Eigentlich auch wieder so ähnlich wie es in dem Online beispiel mit dem Händlerverzeichnis gezeigt wird. Dort ist allerdings die große Vereinfachung enthalten, dass alle Händler, die in der Händlertabelle gelistet sind, auch alle in der selben Verschachtelungstiefe stecken. Das wäre in meinem Fall ja anders, weil die Seminare in verschiedenen Ebenen stecken können. Ein Weg um das zu "lösen" wäre, das ich eben auch für jede Verschachtelungstiefe eine eigene Seminartabelle anlege (tbl_seminare_ebene_1; tbl_seminare_ebene_2; usw.), Das scheint mir aber eine sehr holprige "Lösung" und ich hätte gerne alle Seminare in einer Tabelle und darin stehen dann Felder zur Verfügung, die auf die Elterntabelle verweisen.
      Oder ich bin eben noch ganz auf dem Holzweg und mit CC würde man das "richtig" ggf. komplett anders lösen?

      ----

      Nachtrag:

      Ich habe es mittlerweile noch mal mit der Sortierungsoption 5 für die Tabelle der Kategorien versucht. Ich hatte die zuallererst auch versucht um damit die Kategorieen alle nur in einer Tabelle haben zu können. Leider hatte das nie so richtig funktioniert, da ich (scheinbar) nie Einträge einlegen konnte. Ich habe das jetzt noch mal versucht und auch zuerst keine Einträge sehen können. Ich wurde aufgefordert, anzugeben wo ich den neuen Eintrag haben wollte und es wurde immer nur das leere root Symbol angezeigt. Aber ich sah dann dort oben rechts nun einen Zähler der mir zeigte, dass die Einträge die ich gemacht habe, wohl doch irgendwo sind. Ich habe dann (extern) direkt in die Tabelle geschaut und die Einträge wurden schon angelegt aber aber nicht angezeigt...
      Ich habe dann vermutet es liegt vielleicht an der Multi-Language Einstellung dei ich zunächst für Deutsch und Englisch gesetzt habe. ich habe dann einen neuen Eintrag explizit mit einer Sprachangabe versehen und dann tauchte zum ersten Mal ein Eintrag sichtbar in der Hierachie auf :-). Irgendwie schien das eine Art Initialisierung gewesen zu sein, denn nach einem Refresh, tauchten dann auch die anderen Einträge auf und ich konnte die zuerst noch flache Hierachie sehen und auch weitere Einträge unterhalb der vorhandenen hinzufügen. Damit schent die Sortieroption 5 also doch das gewünschte Resultat zu bringen und auch in der DB selbst wird das so eingetragen wie ich es ursprünglich gemacht hätte (in einer Tabelle mit PID die Unterkategorien verwalten) > Freu :-)

      Momentan scheint es aber noch so zu sein, dass ich zwar neue Einträge unterhalb der ersten Ebene machen kann, aber keine neuen Hauptkategorien hinzufügen kann? Das kleine symbol zum hinzufügen auf der ersten Ebene ist grau. Evtl. ein Bug?

      Ich habe für meine Seminare das Inhaltselement um Tags für die Kategorie erweitert und kann diese bei der Anlage von neuen Seminaren hinzufügen. Ich denke damit sollte die Zuordnungsfrage gelöst sein und die Aufgabe lässt sich damit lösen.:-)

      Ich muss jetzt nur noch das Problem lösen, wie ich in einem Lister Modul in der Seitenstruktur dann nur die jeweiligen Kategorien anzeigen lasse aber ich vermute dafür werde ich dann wohl diese Filtersets einsetzen. Die schaue ich mir dann jetzt mal genauer an.
      Zuletzt geändert von Brubbel; 14.08.2015, 07:34.

      Kommentar


      • #4
        boah, du schreibst Romane. Ein Projekt muss doch stichpunkthaft erklärbar sein. Sonst verrennt man ja bereits in der Planung.
        Ich versuche es jetzt mal zu reproduzieren, was du vorhast.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Es gibt auf der einen Seite verschiedenste Kategorien/Produktgruppen, durch die der spätere Betrachter sich in einer Menüstruktur auf der Webseite durchklicken können soll (
          - Sehr gut. Nutze das Attribut Seitenauswahl und den Seitenauswahl-Filter. Dann bist du schon fertig, was das betrifft. Der Filter, filtert die Liste nach den gewählten Seiten im Eintrag.
          - Hier keine verschachtelten oder umständlichen Gebilde bauen. Das geht super einfach.

          Kategorien brauchen dann damit kein extra CC sondern können ganz easy mit der Seitenstruktur angelegt werden. Schöner gehts kaum. Damit hat man auch gleich ein Menü.

          Seminare
          Das ist dein Hauptkatalog.
          Die Kategorie wählst du darin über das obengenannte Seitenauswahl Attribut und die Seiten. Dann noch dafür einen Seitenauswahl-Filter anlegen und in der Liste zuweisen. Fertig. Deine Liste wird jetzt nach der aktuellen Seite gefiltert. (bei vielen Seiten lohnt sich ein Seitenlayout wo die Liste als Modul fest integriert ist. Sie muss ja auf jeder Kategorie-Seite sein)
          Den rest legst du halt an, was du brauchst.

          Viel mehr lese ich hier eigentlich nicht raus.
          Ich sehe keine Notwendigkeit überhaupt CCs zu verschachteln etc. Das ist ein ganz simples Gebilde hier.

          --
          Bitte informieren wie die Sortiermodi in Contao richtig funktionieren und was Mode 5 z.B. ist. https://docs.contao.org/books/manual...er-Arrays.html
          Mode 5 ist eine Baumstruktur. Mode 4 wäre die eigentlich richtige Wahl für eine verschachtelte Tabelle.
          http://www.premium-contao-themes.com

          Kommentar


          • #6
            Ich fasse kurz allgemein zusammen.

            Für eine Zuordnung von Eintrag in Kategorie bietet sich die Seitenstruktur an (siehe Isotope Shop zum Beispiel). CC bringt ein Seitenauswahl-Attribut und einen passenden Seitenauswahl-Filter.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Hi Tim, erst mal vielen Dank für deine Analyse! Das mit dem Seitenauswahl-Attribut war auch mein erster Gedanke/Versuch. Das funktionierte auch wunderbar wenn ich NUR die Seminare auf den jeweiligen Menüeinträgen haben wollte. Das ging wirklich schnell und einfach, weil die Menüstruktur ja auch schon vorhanden war.

              Meine zusätzliche Anforderung war aber ja, dass ich nach Auswahl eines Menüpunktes auf der erscheinenden Seite eine Übersicht der Unterkategorien UND der Seminare in der gewählten Kategorie haben möchte. Zu den Untermenüeinträgen soll es zusätzlichen Text/Bild geben und das soll auch direkt anklickbar sein, so dass man in die entsprechenden Unterkategrie wechselt.

              Ich hatte keine Möglichkeit gesehen, dass "nur" mit dem einen Hauptkatalog und dem Seitenwahl-Attribut darzustellen.
              Ich wüsste jetzt nicht, wo ich die Infos zu den Unterkategorien sonst herbekommen sollte und deshalb der Gedanke 2 Kataloge einzusetzen.
              Oder gibt es da doch etwas?

              Kommentar


              • #8
                Der Filter hat die Option ob Kindseiten eingeschlossen werden sollen.

                Mit zwei Katalogen wirst du nicht glücklich, glaub mir. Das macht ein riesen Fass Arbeit auf. Du wirst auch keinen menüähnlichen Klickpfad einfach so bekommen. Das wird richtig Arbeit. Die Seitenstruktur und Contao mit der Navigation nimmt einem da richtig viel Arbeit ab.

                Einen zweiten Katalog nur für Kategorien, sprich Filterung, macht nur Sinn, wenn z B Tags nicht reichen und man Bilder oder zusatzdaten braucht. Kurz gesagt, man brauch mehr Felder

                PS. Die Seitenstruktur (tl_page) ist ja nichts anderes als ein zweiter Katalog, nur das der schön in Contao verwurzelt ist.
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Dass das ein Fass wird sehe ich auch schon ... aber es ist halt wie Du schreibst:
                  Einen zweiten Katalog nur für Kategorien, sprich Filterung, macht nur Sinn, wenn z B Tags nicht reichen und man Bilder oder zusatzdaten braucht. Kurz gesagt, man brauch mehr Felder
                  ich brauche ja genau das: Bilder zu jeder einzelnen Kategorie und weitere Zusatzdaten ...

                  Deinen Hinweis auf die Seitenstruktur (tl_page) verstehe ich leider nicht wie mir das weiterhelfen kann? Grundsätzlich ist der Gedanke das über die Seitenstruktur abzubilden natürlich sehr verlockend. Einen zweiten Katalog für die Kategorien zu pflegen heißt ja auch, dass die Struktur quasi 2x vorgehalten werden muss und das finde ich gar nicht. Aber ich weiß leider gar nicht wie das über die vorhandene Seitenstruktur abzubilden wäre.

                  Kommentar


                  • #10
                    Ich würde über Seiten filtern und die Backgroundinfos der Kategorien in einem zweiten Katalog abbilden, der auch mit der Seitenstruktur verbunden ist.
                    Damit hat man die passenden Seminare und die passenden Kategorieinfos und das wichtigste eine perfekte Navigation, die super flexibel ist.


                    Anschauen sollte man sich noch den Verwandte Einträge filter. Auch sehr nützlich.

                    Ab einem gewissen Grad muss man natürlich selbst ran und seine individuelle Lösung angehen.
                    Zuletzt geändert von Tim; 15.08.2015, 12:20.
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #11
                      Hi Tim, danke für Deine Geduld und Hinweise!
                      Dein Vorschlag mit einem 2ten Katalog der auch mit der Seitenstruktur verbunden ist, funktioniert ganz gut! Ich habe mir noch einen 2ten Seitenwähler dazu gepackt um die Weiterleitungs URL (die ID der nächsten Unterseite) im Template aus dem Katalog zusammen zu basteln. Das klappt nun alles soweit gut und ich kann auch gut damit navigieren und die Contao Navigation folgt auch gut mit.
                      Eine Unschönheit taucht nun noch beim Einbau des Leser-Moduls auf. Mein erster Gedanke war, EINE abgesetzte Seite mit dem Lesermodul zu machen und auch nur ein Lister Modul mit Weiterleitung auf diese Seite zu haben. Dieses eine Modul wollte ich auf allen Seiten hinterlegen. Das klappt natürlich auch aber weil ich auf die abgesetzte Seite springe, geht der Navigationspfad verloren. Das soll nicht passieren.
                      Wenn ich im normalen Seitenbaum jeweils eine Detailseite baue, dann brauche ich auch x-Listenmodule die auf die nun unterschiedlichen Seiten verweisen :-(

                      Hast Du eine Idee wie man das ohne diesen Aufwand leichter lösen kann?

                      Ich habe schon überlegt den Pfad mit dem gleichen Trick wie oben aus der DB für das Ausgabetemplate "zusammen zu bauen" und im Listen-Modul keine Weiterleitungsseite anzugeben. Damit komme ich dann auch auf die Detailseite aber das Leser-Modul auf der Detailseite bekommt scheinbar die ID des Produkts nicht mehr und das Leser-Modul zeigt nichts mehr an :-(

                      Also, das wäre cool wenn es eine variable Lösung gäbe aber grundsätzlich funktioniert es nun wie es soll - danke für die Hilfestellungen!

                      Kommentar


                      • #12
                        Ja, das Problem mit dem Leser hat man immer.
                        Du kannst den Leser aber auch ohne extra Detailseite ansprechen. Einfach im Liste Modul ohne Weiterleitungsseite arbeiten. Dann wird die aktuelle Seite genutzt und nur der Parameter für den Leser ergänzt.
                        Selbst contaos breadcrumb könnte hier bereits automatisch reagieren, weil CC sich die gleichen Parameter teilt. Sonst im mod_breadcrumb einfach den Leser Alias ausgeben:
                        echo \Input::get('items')


                        Zum Aufbau noch mal. Das wäre ideal:

                        - Kategorien (Seitenwähler Attribut und Filterung)
                        -- Seminare als direkte Kind-Tabelle je Kategorie (eigenes Stiftsymbol)

                        Damit hast du automatisch immer die passenden Seminare zu den gefilterten Kategorien auf der Seite. Das ist eigentlich perfekter Ausgangspunkt.



                        http://www.premium-contao-themes.com

                        Kommentar


                        • #13
                          Den Vorschlag mit
                          ...den Leser aber auch ohne extra Detailseite ansprechen. Einfach im Liste Modul ohne Weiterleitungsseite arbeiten. Dann wird die aktuelle Seite genutzt und nur der Parameter für den Leser ergänzt.
                          verstehe ich nicht so richtig. Ich weiß schon, dass man den Lister ohne Weiterleitungsseite nutzen kann. Dann "sucht" er ein Leser Modul auf der gleichen Seite. Wenn das da ist, wird die Detailansicht darüber gemacht. Das hat aber doch den Nachteil, dass man dann die anderen Inhalte auf der Seite noch weiterhin "obendrüber" stehen hat? Oder habe ich das mißverstanden was Du vorschlägst?

                          Kommentar


                          • #14

                            Kategorien ist der Eltern-CC und Seminare ist ein Kind-CC von Kategorien.

                            der Kategorien CC bekommt eine Seitenauswahl und einen Seitenauswahl-Filter.
                            Im Frontend kommt jetzt schön zu jedem Kategorie Eintrag auch der Link zu der Seminar-Liste. Schön vorgefiltert nach der Seitenstruktur.

                            Wenn man auf einer Detailseite keine Listeneinträge sehen will, kann man im Template einfach die Ausgabe umgehen

                            Ganz oben im mod_customcatalog Template einer Liste;
                            PHP-Code:
                            if(strlen(\Input::get('items')) > || strlen(\Input::get('auto_item')) > 0)
                            {
                            return 
                            '';

                            Zuletzt geändert von Tim; 27.08.2015, 15:00.
                            http://www.premium-contao-themes.com

                            Kommentar


                            • #15
                              Das Ausblenden funktioniert sehr gut und löst das Problem ideal. Allerdings hat es mit dem obigen Code bei mir nicht funktioniert und ich habe ihn wie folgt angepasst, damit die Listeneinträge verschwinden:

                              PHP-Code:
                              <?php
                              if(\Input::get('items') || \Input::get('auto_item'))
                              {
                              return 
                              '';
                              }
                              ?>

                              Danke für den Anschubser (und überhaupt den grandiosen Support von Deiner Seite)

                              Kommentar

                              Lädt...
                              X