Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte an ein Attribute-Template übergeben?

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

  • Werte an ein Attribute-Template übergeben?

    Moin Tim,
    ich benutze in einem CC ein Attribut vom Typ Dateiauswahl. In der späteren Frontend-Auflistung sollen eine Reihe von weiteren Angaben mit innerhalb der <a>Tags liegen (z.B. ein Text und ein spezielles Font-Awesome-Icon).
    Normalerweise würde ich mir solche "speziellen" <a> Konstrukte aus den Einzelelementen zusammenbauen. Also z.B.
    HTML-Code:
    \FilesModel::findByUuid($entry->field('dateiauswahl')->value())->path;
    für den href Pfad usw.
    Da hier die Anforderung aber ist, dass man später die Datei zum Download bekommen soll, funktioniert das ja nicht. Zumindest habe ich es noch nie hinbekommen, mir so einen reinen Downloadlink selbst zusammenzubauen. Falls es doch einen Weg gibt und Du ihn zufällig kennst ... gerne, danke!

    Also habe ich mir bisher immer so geholfen, dass ich über
    HTML-Code:
    $entry->field('dateiauswahl')->html();
    arbeite und mit Hilfe eines angepassten Templatefiles für das Download-Attribut, die Ausgabe zusammen baue. Irgendwie scheint ja dadurch etwas initialisiert zu werden, damit diese Downloadfunktion zur Verfügung steht.
    Das mit dem Templatefile ist an sich auch kein Problem ... solange ich nur Werte brauche, die ich aus dem FileModel bekommen kann. Für diese neue Anforderung brauche ich aber den Inhalt eines ganz bestimmten CC Feldes und ich bekomme es nicht hin, dieses Feld innerhalb des Attribut-Templates anzusprechen

    Könntest Du hier bitte etwas Hilfstellung geben und zeigen, wie man
    HTML-Code:
    $entry->field('meinText')->value();
    als Content zwischen die <a> Tags bekommt?
    Danke!!

  • #2
    Zumindest habe ich es noch nie hinbekommen, mir so einen reinen Downloadlink selbst zusammenzubauen.
    Einfach das html5 download html-attribut nehmen
    https://www.w3schools.com/tags/att_a_download.asp

    PHP-Code:
    <a href="meineDatei.zip" download>Mein HTML5-Download</a
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Das hatte ich früher auch versucht aber es war unzuverlässig und hat nicht immer in allen Browsern funktioniert?

      Kommentar


      • #4
        Zitat von Brubbel Beitrag anzeigen
        Das hatte ich früher auch versucht aber es war unzuverlässig und hat nicht immer in allen Browsern funktioniert?
        Das sowas wie der IE rausfliegt, ist klar Mit einer groben Abdeckung von 96% würde ich keine weiteren Hürden machen. Das ist einfach zu handeln.

        Du kannst immer und überall normale DB Abfragen nutzen. Für Download-Elemente kannst du auch Contao ContentDownload Inhaltselemente Klasse nutzen und quasi ein "Psydo"-Downloads-Inhaltselement ausgeben lassen. (CE macht es auch so)
        Zuletzt geändert von Tim; 21.03.2023, 09:02.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Haha, ja, vielleicht versuchen wir es nochmal damit. Ich frage mal den Kunden ob hier auf IE verzichtet werden kann.

          Das mit den DB Abfragen ist klar. Ich wollte nur nicht immer gleich eigene DB Abfragen machen, weil ich doch eigentlich CC habe . Ich dachte es gibt da vielleicht nur eine andere Schreibeweise. Habe mich dann jetzt mal mit dem Dump beschäftigt und komme darüber an die Daten die ich brauche ohne zusätzliche Abfrage. Dachte mir doch, dass CC den Wert bestimmt bereits hat

          PHP-Code:
          <?php print_r($this->element->public_description_de); ?>

          public_description_de ist hier der Name meines CC Feldes.

          Merci für die Antworten!!

          Kommentar

          Lädt...
          X