Verwendung: gibt es eine ausführlichere Beschreibung zu Custom Elements

Bernhard's Avatar

Bernhard

18 Jul, 2020 07:27 AM

Produkt: Custom Elements Contao

Hallo,

Gibt es eine ausführlichere Beschreibung zu

  • mögliche Werte von InputTypes
  • Feldtypen
  • was kann man bei "eval" spezifizieren
  1. Support Staff 1 Posted by RockSolid Theme... on 20 Jul, 2020 06:55 AM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Informationen dazu finden Sie in der Dokumentation der Erweiterung: https://rocksolidthemes.com/de/contao/plugins/custom-content-elements/dokumentation

  2. 2 Posted by Bernhard Weiche... on 20 Jul, 2020 07:57 AM

    Bernhard Weichel's Avatar

    Vielen Dank, die hatte ich schon gesehen. Weiterführende Informationen zur Beschreibung der Felder habe ich inzwischen in https://docs.contao.org/dev/reference/dca/fields/

    Ich gehe davon aus, dass diese Beschreibung auch für Feder in RSCE gilt.
    Vielen Dank.

  3. Support Staff 3 Posted by RockSolid Theme... on 20 Jul, 2020 08:11 AM

    RockSolid Themes's Avatar

    Ich gehe davon aus, dass diese Beschreibung auch für Feder in RSCE gilt.

    Korrekt, wie in der Dokumentation beschrieben:
    „Die Felder die beim Bearbeiten des Elements im Backend angezeigt werden, werden wie in Contao-DCAs üblich konfiguriert. Weitere Informationen zu den Konfigurationsoptionen der einzelnen Felder finden Sie im Contao-Benutzerhandbuch. Die Feldtypen password und moduleWizard werden derzeit nicht unterstützt.“

    Die zusätzlichen Feld-Typen die in Contao-DCAs nicht vorhanden sind (list, rocksolid_icon_picker, standardField, group und url) sind in der Dokumentation beschrieben.

  4. 4 Posted by Bernhard Weiche... on 22 Jul, 2020 11:22 AM

    Bernhard Weichel's Avatar

    Hallo,

    ich mache einfach in diesem Thread weiter.

    Ich habe folgendes Template

    <h3 class="flaeche-ueberschrift">Kontakt</h3>
    <div class="<?php echo $this->class ?> ce_text block"<?php echo $this->cssID ?>>
    
            <?php if ($image = $this->arrData['getImageObject']($this->image, array(60, 60))): ?>
    <img style="float:left;" width="60" src="<?php echo $image->src ?>" alt="<?php echo $image->alt ?: $member->name ?>"/>
            <?php endif ?>
    
    <div style="padding-left:70px;">
    
    <h4><?php echo $this->name ?></h4>
    <?php if ($this->phone): ?><span title="phone Kontaktperson" class="icon bgk-fon"><?= str_replace(" ","[nbsp]", $this->phone) ?></span><?php endif ?>
    
    
            <?php if ($this->email): ?>
    <p>
    <span title="email Kontaktperson" class="icon bgk-email"><a href="mailto:<?=$this->email ?>"><?= str_replace(" ","[nbsp]", $this->email) ?></a></span>
    </p>
            <?php endif ?>
    </div>
    

    Das funktioniert, wenn ich es auf ein RSCE - Element anwenden. Nun möchte ich aber ein inserttag schreiben, welches das Template mit angibt, also {{bgk-inserttag::21345::kontakt}}. Das heißt ich lade das Inshaltselement und gebe es aus mit folgneder sequenz:

            $objPerson = \Contao\ContentModel::findById($chunks[1]);
            $objArray = $objPerson->originalRow();
            $template = new \Contao\FrontendTemplate("rsce_bgk-person_" . $chunks[2]);
            $template->setData($objArray);
            return ("->" . $template->parse() . "<-");
    

    Ich hatte erwartet, dass das gleichermaßen funktioniert, aber

        <?php if ($image = $this->arrData['getImageObject']($this->image, array(60, 60))): ?>
    

    meldet einen Fehler:

    [2020-07-22 13:00:28] app.CRITICAL: An exception occurred. {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Function name must be a string at /www/htdocs/w00b5134/contao-cms/templates/rsce_bgk-person_kontakt.html5:4)"} []
    

    Was muss ich tun, damit ein rsce über $tempalte->parse() die richtigen Daten findet?

  5. 5 Posted by Bernhard Weiche... on 22 Jul, 2020 11:32 AM

    Bernhard Weichel's Avatar

    $this->dumpTemplateVars() zeigt ir

     "rsce_data" => "{"image":"a5ae70d9-cb74-11ea-b37d-08606eeb5659","name":"Re Fr","email":"[email blocked]","phone":"9999 999999-22","socials":[{"platform":"website","url":""}]}"
    

    also muss es noch irgeneine methode geben, mit der ich die rsce_data in das Template bekomme, so dass das Template in beiden Anwendungsarten funktionert.

  6. Support Staff 6 Posted by RockSolid Theme... on 22 Jul, 2020 12:15 PM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Über die Contao-Funktion getContentElement der Controller-Klasse können Sie sich den HTML-Code eines Inhaltselements erstellen lassen:

    $parsed = \Contao\Controller::getContentElement($chunks[1]);
    
  7. 7 Posted by Bernhard Weiche... on 22 Jul, 2020 02:42 PM

    Bernhard Weichel's Avatar

    ok, aber dann verwendet er das standardtemplate. Ich möchte ein alternatives Template mitgeben.

  8. 8 Posted by Bernhard Weiche... on 22 Jul, 2020 08:08 PM

    Bernhard Weichel's Avatar

    Ich habe es rausgefunden ... man muss das gewünschte Template im geladenen Modell setzen

            $objPerson = \Contao\ContentModel::findById($chunks[1]);
            $objPerson->customTpl = "rsce_bgk-person_kontakt";

            return (\Contao\Controller::getContentElement($chunks[1]));

    vielen Dank für die Hilfe.

  9. 9 Posted by Bernhard Weiche... on 28 Jul, 2020 05:32 PM

    Bernhard Weichel's Avatar

    Ich füge noch eine Frage in dem Zusammenhang an.

    Ich habe ein RSCE Element für "Person" angelegt. Damit kann auf unserer Seite alle Kontaktdaten für Ansprechpartner zentral erfassen und auf den verschiedenen Seiten in verschiedenen Stilen darstellten. Dafür habe ich mir inserttags gebaut {{person::1234::kontaktdaten}}. Nun muss man bei der Verwendung immer die interne ID der Person kennen. Leider gibt es für Inhaltselemente keinen Alias, so dass ich schreiben könnte {{person::max_muster::kontaktdaten}}.

    Haben Sie eine Idee, wie ich sowas trotzdem bewerkstelligen könnte. Im Grunde brauche ich einen Funktion mit der ich eine Custom - Element über eine Feld ("z.b. Name") suchen kann.

    Ich überlege schon eine Hilfsstruktur zu generieren (die Personen ändern sich ja nicht oft, und ich habe ca. Personen) , um das zu bewerkstelligen. Ich wollte aber noch mal nachfragen, ob Sie da einen Ansatz haben.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac