Ergebnis 1 bis 10 von 10

Thema: {{file::}} Inhalt eines SVGs direkt im Code ausgeben funktioniert in Conta0 5.3 nicht

  1. #1
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    95

    Frage {{file::}} Inhalt eines SVGs direkt im Code ausgeben funktioniert in Conta0 5.3 nicht

    Hallo zusammen,

    ich stelle gerade einige Contao 4 Installationen auf Contao 5 um und stoße dabei auf die ein oder andere Schwierigkeit.

    In einem Template möchte ich ein SVG per file-Tag so im Template ausgeben, dass ich direkt den SVG-Code aus der Datei zur Verfügung habe. Also nicht als image-Tag oder sonst wie extern verlinkt.

    Das hat in der Contao 4er wunderbar so mit PHP funktioniert:
    PHP-Code:
    <?php echo file_get_contents($this->replaceInsertTags('{{file::eb7645e2-e527-11ee-9b2c-bdc60907f645}}')) ?>
    Wie macht man dass denn jetzt in Contao 5(.3)??? Welcher Teil daran geht nun nicht mehr in Contao 5?

    Vielen Dank!
    Markus

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Die Nutzung von Insert Tags um an Daten zu kommen ist immer verkehrt.

    Über das FilesModel kommst du an den relativen Pfad der Datei und über den %kernel.project_dir% Parameter kannst du dir den absoluten Pfad bauen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    346
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du kannst das svg auch direkt in Template eintragen.

  4. #4
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    95

    Standard

    Zitat Zitat von Kopfnuss Beitrag anzeigen
    Du kannst das svg auch direkt in Template eintragen.
    Das will ich nicht, damit das Element im Backend für Redakteure pflegbar ist.

  5. #5
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    346
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dann schau mal hier ob das weiter hilft:
    https://docs.contao.org/dev/framewor...ig-contao-4-13

    Code:
    {# It's enough to specifiy the resource and size… #}
    {{ contao_figure('path/to/my/image.png', '_my_size') }}

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Damit kannst du kein inline SVG ausgeben.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    346
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Stimmt, jetzt wo du es sagst

  8. #8
    Contao-Fan Avatar von mdoll
    Registriert seit
    25.06.2009.
    Ort
    Wietze
    Beiträge
    351

    Standard

    Moin,

    müssen die Redakteure das unter Dateien pflegen?

    Man könnte sonst ein Frontend-Modul erstellen. Frontend-Modul "Ungefiltertes HTML", da den svg-Code rein (wobei der Redakteur da dann natürlich alles eintragen könnte).

    Im Twig-Template einfach mit

    Code:
    {{ frontend_module(1) }}
    Statt 1 die ID des Moduls eintragen.

    https://docs.contao.org/dev/framewor...nt-end-modules

    Gruß
    Mathias
    The idea is to die young as late as possible!

  9. #9
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    95

    Standard

    Danke euch!

    Insbesondere an Spooky. Ohne Deine prompte Hilfe immer hier, wären einige reine Frontend-Devs mit nur rudimentären PHP-Kenntnissen (Ich!) echt aufgeschmissen.

    Edit:
    hier noch die funktionierende Lösung, mit dem Weg dahin. Ich muss mir PHP immer Schritt für Schritt erschließen.
    PHP-Code:
    $id 'eb7645e2-e527-11ee-9b2c-bdc60907f645';
    $file = \Contao\FilesModel::findByUuid($id);
    echo 
    $file->path;
    // var_dump($file);
    echo file_get_contents($file->path); 

  10. #10
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    95

    Standard

    Zitat Zitat von mdoll Beitrag anzeigen
    Moin,

    müssen die Redakteure das unter Dateien pflegen?

    Man könnte sonst ein Frontend-Modul erstellen. Frontend-Modul "Ungefiltertes HTML", da den svg-Code rein (wobei der Redakteur da dann natürlich alles eintragen könnte).

    Im Twig-Template einfach mit

    Code:
    {{ frontend_module(1) }}
    Statt 1 die ID des Moduls eintragen.

    https://docs.contao.org/dev/framewor...nt-end-modules
    Ja, muss einfach pflegbar sein, im Sinne von „technisch ahnungsloser Redakteur“ muss eine SVG Datei im Element hochladen können. Es handelt sich um ein Rocksolid Custom Element, reines PHP/HTML Template. Kein twig.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •