Ankündigung

Einklappen
Keine Ankündigung bisher.

Auswahl eines Datensatzes durch Redakteur/Benutzer im Backend

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

  • Auswahl eines Datensatzes durch Redakteur/Benutzer im Backend

    Vorgang: Redakteur (=Backend Benutzer) bearbeitet im BE einen Artikel und möchte dort ein Content Element mit einem Datensatz aus einer CC-Tabelle einbauen.
    Frage: Wie kann ich einem Redakteur im BE ein Content-Element bereitstellen, in dem aus einer CC-Tabelle einen Datensatz auswählt (Select oder Checkbox).
    Die Darstellung des ausgewählten Datensatzes soll dann durch ein Template im Frontend erfolgen.
    Ich habe hier im Forum schon länger gesucht, benutze aber anscheinend nicht die richtigen Suchbegriffe :-(

    Viele Grüße
    HMX

  • #2
    Schon mal in der Konfiguration das hier versucht?
    Wenn deine Konfiguration eine Select-Box enthält, kannst du im Inhaltselement dieses auswählen.
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Bildschirmfoto 2016-12-21 um 15.54.10.png
Ansichten: 14
Größe: 37,1 KB
ID: 5453

    Kommentar


    • #3
      Hi eblick, danke für Deine Antwort. Ich bin mir unsicher, ob wir das gleiche meinen.
      1. Es gibt eine CustomCatalog Tabelle "Künstler" mit allen möglichen Künstlerdaten darin.
      2. Der Redakteur möchte in einen Artikel einen Künstler einbauen, indem er aus den schon vorhanden Künstlern (des CustomCatalogs) einen auswählt.
      Redakteur soll also nicht die Felder eines CustomElements ausfüllen müssen.




      Kommentar


      • #4
        Verstehe.
        Spontan würde ich hier ein eigenes Inhaltselement erstellen, wie oben beschrieben:
        Ein Select-Feld Attribut "Auswahl-Datenbank, einfach" .
        Tabelle -> deine Künstler Tabelle, Wertefeld Künstlername.
        Dieses Inhaltselement dient der Auswahl des Künstlers im jeweiligen Artikel durch den Redakteur.

        Im selben Artikel wäre dann noch ein Listen-Modul für alle gewünschten Künstler-Daten unterzubringen:
        Anzahl an Einträgen = 1
        Template = Leser-Template mit den gewünschten Inhalten
        Filter im Leser-Template setzen (Entry ID des Leser = Entry ID der Select-Auswahl).

        Sollte technisch problemlos funktionieren, ob es die eleganteste Variante ist ??? ;-)



        Kommentar


        • #5
          Listen-Modul braucht es nicht, wenn du im CE-Template gleich das CC-Template rendern lässt. Dann reicht das oben beschriebene Inhaltselement mit dem folgenden Ausgabetemplate:
          Der Filter geht hier auf die ID des Künstlernamen.


          PHP-Code:
          <?php foreach($this->fields() as $field): ?>
           <?php
                              
          // CC objekt erstellen
                              
          $objCC = \PCT\CustomElements\Plugins\CustomCatalog\Core\CustomCatalogFactory::findByTableName('cc_kuenstler');
                              
          // Ausgabetemplate für den CC Datensatz (z.B. customcatalog_kuenstler.html5)
                              
          $objCC->setLayoutTemplate('customcatalog_kuenstler');
                              
          ?>

                                  <?php // einen einfachen filter erstellen für das Feld Künstername
                                  
          $objFilter = new \PCT\CustomElements\Filters\SimpleFilter();
                                  
          $options = array
                                  (
                                      
          'column'       => 'id',
                                      
          'operation'    => '=',
                                      
          'value'        => deserialize($this->field('kuenstler_name')->value()),
                                  );
                                  
          $objFilter->setOptions($options);
                                  
          $objCC->addFilter($objFilter);
                      
                      
          // den CC rendern, durchläuft das oben gesetzte Template, wo dann auch wieder die Template-Variablen greifen.
                      
          echo $objCC->render();
                      
          ?>
                      
          <?php endforeach; ?>
          Zuletzt geändert von eblick; 21.12.2016, 21:26.

          Kommentar


          • #6
            Hey eblick, danke für die ausführliche Anleitung. Probiere ich die kommenden Tage aus und gebe Rückmeldung.

            Kommentar


            • #7
              Hallo eblick, ich wollte Dich was fragen, finde aber nirgends Kontaktdaten von Dir. kannst Du Dich mal per PN melden (h.mueller@arg.net).

              Kommentar

              Lädt...
              X