Ankündigung

Einklappen
Keine Ankündigung bisher.

CE innerhalb CC mit selectdb ist leer

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

  • CE innerhalb CC mit selectdb ist leer

    Hallo!

    Ich versuche in einem CC ein duplizierbares CE zu integrieren. Außerhalb des CCs funktioniert mein CE einwandfrei, ich kann über das Feld "Auswahl-Datenbank, einfach (Select/Radio)" normal die Datenbank anzapfen und direkt daraus Werte ziehen. Wenn ich das gleiche CE im CC verwende, ist das Auswahlfeld komplett leer.

    Kann das daran liegen, das ich mit dem CE an das gleiche CC anknüpfe? Ich setze mit dem CC ein Lexikon um. Das CE ist dafür da, das ich über die Datenbank Auswahl auf andere Einträge innerhalb des Lexikons cross-verlinken kann.

    Danke schonmal für die Hilfe!

  • #2
    Puhhh... eigentlich ist das Attribute Auswahl-Datenbank nicht für CE konzipiert. Der modulare Aufbau scheint es standalone zu erlauben. (immerhin ) Grund ist: es existiert für CE quasi nicht. CC bringt das Attribut erst ins System und es ist nur für den Einsatz darin vorgesehen.

    Vorgesehener Aufbau wäre eigentlich ein CC Eintrag je Auswahl-Select oder eine Mehrfachauswahl aus dem Select machen (alternativ Tags). Filterungen etc. werden ebenfalls nicht funktionieren.

    Ist notiert.
    Zuletzt geändert von Tim; 30.04.2021, 12:13.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      So, ist recht einfach aufzuschalten. Die Logik zum Finden des Attributs denkt wir wären in einem CC, es kommt aber ein Feldname aus CE rein.

      Es ist Teil eines größeren Updates. Wenn du es direkt ändern willst:

      CC Modul:
      Klasse: PCT\CustomElements\Plugins\CustomCatalog\Core\Attr ibuteFactory

      tausche die Funktion findByDca gegen folgende:

      Code:
         public static function findByDca($objDC)
        {
        $objReturn = null;
        
        $strTable = $objDC->table;
        $strField = $objDC->field;
        
        // is CC
        if(CustomCatalogFactory::validateByTableName($strTable) && !$objDC->isCustomElement)
        {
        $objReturn = static::findByCustomCatalog($strField,$strTable);
        }
        
        if( $objReturn !== null )
        {
        return $objReturn;
        }
        
        // is CE
        $objReturn = static::findByUuid($strField);
        
        if( $objReturn === null )
        {
        // check if it is a duplicated attribute and get the parent attribute id from the registry session
        $objReturn = static::findById( static::getAttributeIdFromSession($strField) );
        }
        
        return $objReturn;
        }
      http://www.premium-contao-themes.com

      Kommentar


      • #4
        Perfekt! Scheint zu funktionieren – im Backend kann ich jetzt das richtige auswählen.

        Danke für die schnelle Hilfe

        Kommentar

        Lädt...
        X