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...