Ankündigung

Einklappen
Keine Ankündigung bisher.

Custom catalog: Elten-Kind-Tabellen: Unterschiedliche Gruppen

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

  • Custom catalog: Elten-Kind-Tabellen: Unterschiedliche Gruppen

    Hallo,

    ​Ich habe zwei Tabellen im CC erstellt. Eine Eltern-tabelle, eine Kind-Tabelle. Nun möchte ich in der Elterntabelle eine bestimmte Gruppe inkl. Felder anzeigen und in der Kind-tabelle eine ANDERE Gruppe inkl. Felder anzeigen.

  • #2
    Das entspricht wohl dieser Vorlage: http://forum.premium-contao-themes.c...plate-ausgeben
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Vielen Dank. Nur wo kann ich diese Vorlage einbinden?

      Kommentar


      • #4
        Es ist ein Beispiel, das in jedem CC Liste Template der Elterntabelle angewendet werden kann, um in der Eltern-Listenausgabe Inhalte der Kindtabelle auszugeben. -> man mischt Informationen aus Eltern und Kindtabelle.

        Dies ist nur eine von vielen Methoden. Sicher mit dem Charme direkt mit Modulen arbeiten zu können und dort Einstellungen vorzunehmen.

        Eine programmiertechnisch sicher aufwendigere, aber natürlich damit auch flexiblere Lösung ist die direkte Abfrage. Siehe: http://forum.premium-contao-themes.c...=1298#post1298
        ---
        Eine reine Listen-Darstellung der Kindeinträge ist ohne Programmieraufwand möglich. CC gibt dafür in den _default Tempaltes einen "Weitere Einträge..." Link aus.
        -> siehe Händlerverzeichnis-Demo

        Was natürlich auch immer geht sind Datenbankabfragen, um an Informationen zu kommen.
        Zuletzt geändert von Tim; 02.02.2018, 10:36.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Ich glaube, dass wir nicht das gleiche meinen. Ich möchte im Backend die Gruppen einer Eltern-Tabelle zuordnen und eine andere Gruppe einer Kind-Tabelle zuordnen. D.h. eine Eltern-Tabelle soll eine bestimmte Gruppe mit Feldern haben und eine Kind-Tabelle eine andere Gruppe mit anderen Feldern beeinhalten.

          Kommentar


          • #6
            Man legt zwei getrennte CEs und CCs dafür an. Kind-Tabelle kann jeder beliebige andere CC sein, damit hat man unterschiedliche Gruppen.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Genau, das hat so geklappt. Nun suche ich einen Weg, wie ich von einer Eltern-Tabelle in einer Kind-Tabelle einen Feldwert auslesen kann. Im Forum habe ich gelesen, dass dies über die PID möglich ist, die ID auszulesen. Nur wie lege ich dies an? Ist dies über den Attribut-Typ "Eigenes SQL Feld" möglich?

              Kommentar


              • #8
                Ich habs mal so gelernt
                PHP-Code:
                 <?php
                                    
                // CC objekt erstellen
                                    
                $objParentCC = \PCT\CustomElements\Plugins\CustomCatalog\Core\CustomCatalogFactory::findByTableName('cc_eltern');
                                    
                // ausgabetemplate setzen, wenn nicht default
                                    
                $objParentCC->setLayoutTemplate('cc_custom');  ?>
                                 
                                        <?php // einen einfachen filter erstellen für das Feld PID
                                        
                $objParentFilter = new \PCT\CustomElements\Filters\SimpleFilter();
                                                    
                $options = array
                                                    (
                                                        
                'column'    => 'id',
                                                        
                'operation'    => '=',
                                                        
                'value'        => $entry->pid,
                                                    );
                                                    
                                                    
                $objParentFilter->setOptions($options);
                                                    
                                                    
                // filter dem CC hinzufuegen
                                                    
                $objParentCC ->addFilter($objParentFilter);
                                            
                                                    
                // den CC rendern, durchläuft das oben gesetzte Template, wo dann auch wieder die Template-Variablen greifen.//
                                                    
                echo $objParentCC->render();
                                                    
                ?>

                Kommentar


                • #9
                  Vielen Dank. Nur wo muss ich diesen Code einbauen? Sorry, meine Unwissenheit.

                  Kommentar


                  • #10
                    Wo möchtest du die Eltern-Daten anzeigen lassen. Im Kind-Listen oder im Kind-Leser Modul?

                    Kommentar


                    • #11
                      Ich habe zwei Tabellen. Eine Eltern-Tabelle mit Adressdaten vom Kunden und eine Kind-Tabelle mit der geführten Korrespondenz. Nun möchte ich bei der Kind-Tabelle bspw. ein paar Kundendaten anzeigen lassen (Name, Vorname, Firma, E-Mail), damit ich die Korrespondenz dem Kunden zuordnen kann. Wenn ich jetzt in der Kind-Tabelle schaue, ist das Feld mit dem Namen oder bspw. mit der E-Mail-Adresse leer., obwohl es in der Eltern-Tabelle einen Inhalt hat. Die ganzen Anzeigen sollen im Backend sein.

                      Kommentar


                      • #12
                        Du hast jeweils im Listen als auch im Leser Modul des Kind-CCs ein Ausgabetemplate.

                        Dort kannst du dir aus dem Eltern-CC (oder auch aus anderen Tabellen) Daten ziehen.
                        In diesem Fall ist eben die PID des Kind-Eintrags = der ID des Eltern-Eintrags.

                        Damit ginge es auch bei einzelnen Attributen: {{customcatalog::TABLENAME-OR-ID::ENTRY-ALIAS-OR-ID::ATTRIBUTE-ALIAS::html}}

                        wobei hier die die PID-Variable an die Dritte Stelle gehört:

                        z.B.
                        PHP-Code:
                        <?php $objPID $entry->field('pid')->value();
                        $elternValue = {{customcatalog::cc_eltern::$objPID::feld-alias::html}};
                        echo 
                        $elternValue?>

                        Kommentar


                        • #13
                          Ok, ich hatte oben nur die Ausgabe im Frontend beschrieben. Für Backend-Anzeigen ist das hier eine andere Herausforderung -> Tim

                          Kommentar


                          • #14
                            Vielen Dank. Das Ausgabetemplate der Kind-Tabelle ist "customelement_authorbox". In diesem Fall kann ich eine Textdatei mit dem o.g. und angepassten Inhalt erstellen und im Template-Ordner ablegen.

                            Kommentar


                            • #15
                              Ich habe den folgenden Inhalt in das Ausgabetemplate "customelement_PID_auslesen" integriert und ins Template/Layout Verzeichnis kopiert. Anschliessend habe ich dieses Tenmplate als Ausgabetemplate in der Kind-Tabelle angegeben.

                              <?php $objPID = $entry->field('pid')->value();
                              $elternValue = {{customcatalog::cc_kundendaten_parent::$objPID::e _mail::html}};
                              echo $elternValue; ?>

                              ​Nur wie lasse ich mir diese E-Mail-Adresse im Backend anzeigen?

                              Kommentar

                              Lädt...
                              X