Ankündigung

Einklappen
Keine Ankündigung bisher.

Elemente abhängig voneinander anzeigen (Banner von Eintrag)

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

  • Elemente abhängig voneinander anzeigen (Banner von Eintrag)

    Moin,

    ich möchte Elemente abhängig voneinander anzeigen lassen. Konkret geht es darum, dass ich diverse Banner habe, die mittels Tags einem Ort zugewiesen sind. Dazu gibts verschiedene CC-Einträge, die ebenfalls einem Ort zugewiesen sind.

    Wenn jetzt ein Element (oder ein Filter) mit jeweiligen Ort angezeigt wird, soll dazu der passende Banner angezeigt werden.

    Ich bin jetzt folgendermaßen dazu vorgenagen:
    • CC für die Elemente erstellt
    • CC für die Banner erstellt
    • Tags für beide Einträge angelegt und auch als Filter hinterlegt.
    Meine Frage ist jetzt (bzw. wo ich gerade vom Denken etwas stecken bleibe), wie kann ich beide kombinieren? Ich vermute, ich muss einfach einen Filter auswählen, der das irgendwie kombiniert oder? Welcher wäre das?

    Eingebunden würden die beiden CC-Reader bzw -Liste (liegt beim Banner nur vor) auf den jeweiligen Seiten.

    Viele Grüße
    Markus

  • #2
    Filter Verwandte Elemente über den verbindenden Tag-Eintrag?

    Kommentar


    • #3
      Der hier oder?

      [ATTACH=CONFIG]n11940[/ATTACH]

      Da ändert sich aber nichts.


      Muss ich eigentlich noch irgendwie Verknüpfungen bei den CCs einstellen?
      Zuletzt geändert von Sukrams; 05.07.2018, 13:47.

      Kommentar


      • #4
        Ach ja, es sind ja zwei unterschiedliche CCs hier im Einsatz. Das habe ich übersehen. Wenn beim selben CC die Einträge jeweils dasselbe Tag zugeordnet sind, greift der Verwandte-Filter.

        Persönlich würde ich es wahrscheinlich so lösen, dass ich für die Orte ebenfalls einen CC anlege und hier den Banner hinterlege. Dieser CC kann in den Elementen dann als Tag mit externer Quelle verwendet werden.

        Kommentar


        • #5
          dann müsste ich aber für jeden Ort den (oder mehrere) hinterlegen oder? Also nicht wie bisher einem Eintrag (= Banner) dem oder die Orte zuweisen

          Kommentar


          • #6
            Kannst du evtl. mal etwas weiter ausholen... Also um welche "Einträge" es geht, wie die Listen und Leserseiten aussehen sollen, gibt es einen oder mehrere Orte pro "Eintrag"? Werden die Orte/Banner noch woanders benötigt? Gibt es zum Ort noch weitere Daten (Region, Land, Infotext usw)?

            Kommentar


            • #7
              Ich habe einen CC, in dem diverse Häuser und Grundstücke, mit allen Daten sind. Da liegen dann auch die Tags mit dem Ort drin. Liste gibt alles oder nach Filterung (Art, Ort, Preis, Größe, etc.) aus. Dazu sollen abhängig vom Ort Werbebanner (= 2. CC) ausgespielt werden. Gibts jetzt ein Haus in Berlin, soll ein Banner erscheinen, der auch Berlin zugeordnet sind. Ist der für Berlin und Hamburg zugeordnet, soll der Banner dann auch in Hamburg erscheinen. Auf der Leserseite dasselbe, hier gibts dann alle Informationen zum Objekt.

              Die Tags gehen teilweise noch weiter in die Tiefe (Stadtteile), aber da brauch nicht weiter unterschieden werden.

              Hier soll es dann nur sein Ort = Tag => Anzeige. Falls nichts zutrifft, kommt nichts oder ggfs. ein Fallback, aber das weiß ich aktuell noch nicht.

              Im CC mit den Bannern ist nur der Name und das Bild mit den entsprechenden Attributen und der zugehörige Tag hinterlegt.

              Kommentar


              • #8
                Verstehe nun. Ziel ist also eine Liste mit einem oder mehreren Werbebannern, gefiltert nach dem aktuellen Ort. Und diese Werbebanner können außerdem mehrere Orte zugeordnet werden.
                Und diese Werbebanner sollen sowohl in der Häuserliste als auch im Häuserleser erscheinen -> 1. Zwei Listen auf einer Seite aus unterschiedlichen CCs und 2. eine Liste auf einer Leserseite aus unterschiedlichen CCs...

                Da bin ich nicht sicher, ob dies mit vorhanden Filtern funktioniert.

                Evtl. mal innerhalb der Haus-Entries die Banner übers Template ziehen (wo bei 'ort' die Tag-ID wäre..) ?

                PHP-Code:
                                            <?php
                                            $objCCBanner 
                = \PCT\CustomElements\Plugins\CustomCatalog\Core\CustomCatalogFactory::findByTableName('cc_banner');
                                            
                $objCCBanner->setLayoutTemplate('customcatalog_banner');
                                            
                // Filter
                                            
                $objSimpleFilter = new \PCT\CustomElements\Filters\SimpleFilter();
                                            
                $options = array
                                            (
                                                
                'column'    => 'id',
                                                
                'operation'    => '=',
                                                
                'value'        => $entry->field('ort')->value(),
                                            );
                                            
                $objSimpleFilter->setOptions($options);
                                            
                $objCCBanner->addFilter($objSimpleFilter);
                                                    echo 
                $objCCBanner->render();
                                            
                ?>

                Kommentar


                • #9
                  Genauso solls sein.

                  Ich habs mal getestet. Erhalte keine Ausgabe, aber auch keinen Fehler ;-). Die ID vom Tag erhält er auch korrekt, das steht alles im var_dump drin.

                  Aber was ich am Code nicht verstehe, warum vergleicht er die ID mit dem Filter? Die ID müsste doch die ID vom Eintrag sein? Müsste er da nicht auch den Ort vergleichen? Auch wenn ich da etwas ändere, kommt da noch nichts.

                  Viele Grüße
                  Markus

                  Kommentar


                  • #10
                    Das customcatalog_banner.html5 template ist vorhanden?
                    Ist bei den Tags eine Mehrfachauswahl möglich? Dann müsste evtl. noch der value deserialisiert werden a la

                    PHP-Code:
                    'column'    => 'id',
                    'operation'    => 'IN',
                    'value'        => deserialize($entry->field('ort')->value()), 

                    Kommentar


                    • #11
                      Genau, das Template ist vorhanden. Heißt zwar customcatalog_ads, ist aber auch so angepasst:

                      PHP-Code:
                      $objCCBanner = \PCT\CustomElements\Plugins\CustomCatalog\Core\CustomCatalogFactory::findByTableName('werbung');                              
                      $objCCBanner->setLayoutTemplate('customcatalog_ads');                              
                      // Filter                              
                      $objSimpleFilter = new \PCT\CustomElements\Filters\SimpleFilter();                              
                      $options = array                              
                      (                                 
                      'column'    => 'id',  
                      'operation'    => 'IN',  
                      'value'        => deserialize($this->field('ort')->value()),                                  
                      );                            
                      $objSimpleFilter->setOptions($options);                              
                      $objCCBanner->addFilter($objSimpleFilter);                              
                      echo 
                      $objCCBanner->render(); 
                      Also ein Eintrag (Haus-Entry) hat nur einen Tag. Ein Banner, kann aber mehreren Tags zugeordnet sein.

                      Jetzt wird mir ein Banner angezeigt, allerdings nur bei Einträgen, wo nichts weiter hinterlegt ist, also auch keine Tags.


                      Was mir aber noch einfällt:

                      Ich kann auf der Übersichts-Liste nach Orten (also auch den Tags) filtern. Kann man das eigentlich auch kombinieren? Oder gibts da Probleme, weil das zwei Kataloge sind?
                      Zuletzt geändert von Sukrams; 09.07.2018, 10:59.

                      Kommentar

                      Lädt...
                      X