Contao-Summit 2026

Ankündigung

Collapse
No announcement yet.

Image in Backend

Collapse
X
 
  • Filter
  • Zeit
  • Show
Clear All
new posts

    Image in Backend

    Hallo zusammen,
    ich habe ein Textfeld in der Tabelle, in dem der Pfad zu einem Bild gespeichert ist. Jetzt möchte ich, dass dieser Pfad im Backend als <img src="">-Tag angezeigt wird. Wie kann ich das umsetzen?

    #2
    Zitat von NikSchmidt Beitrag anzeigen
    Hallo zusammen,
    ich habe ein Textfeld in der Tabelle, in dem der Pfad zu einem Bild gespeichert ist. Jetzt möchte ich, dass dieser Pfad im Backend als <img src="">-Tag angezeigt wird. Wie kann ich das umsetzen?
    Du hast ein <img src> als Text in einem Tabellenfeld im Inhaltselement Tabelle gespeichert und möchtest, dass der Inhalt gerendert wird?
    Das ist nicht möglich, da hier input encoded wird.

    Was hast du denn genau vor?
    Contao-Association unterstützen

    Comment


      #3
      Du hast ein <img src> als Text in einem Tabellenfeld im Inhaltselement Tabelle gespeichert
      Nein, ich habe den Pfad zu dem Bild gespeichert, also: /path/to/image.jpg

      und möchtest, dass der Inhalt gerendert wird?
      Nein,ich möchte dass es sowas im backend gerendert wird: <img src="{{ path_to_image }}"> anstatt <input type="text" value="{{ path_to_image }}">

      Comment


        #4
        Mach mal bitte ein Screenshot.
        Warum nutzt du hier nicht den Filepicker, der rendert auch die Vorschau.
        Contao-Association unterstützen

        Comment


          #5
          Sagen wir ich möchte ein Bild mit FileTree hochladen

          Code:
          if ($imageFile) {
                      if ($this->isValidImage($imageFile)) {
                          $targetFolder = System::getContainer()->getParameter('kernel.project_dir') . '/files/content/events/'.$member->id.'/';
                          if (!is_dir($targetFolder)) {
                              mkdir($targetFolder, 0777, true);
                          }
          
                          $extension = $imageFile->getClientOriginalExtension();
                          $newFileName = md5_file($imageFile->getRealPath()) . '.' . $extension;
                          $imageFile->move($targetFolder, $newFileName);
                          $targetFilePath = '/files/content/events/'.$member->id.'/' . $newFileName;
          
                          $file = Dbafs::addResource($targetFilePath));
          
                          return $file->uuid; //save in db
                      }
                  }
          Sowas sollte eigentlich funktionieren, ich bekomme aber folgende Fehlermeldung:
          Uncaught PHP Exception InvalidArgumentException: "Invalid resource /files/content/events/11/e01072444c0ea94437253a44c502d816.jpg" at Dbafs.php line 64
          Obwohl das Bild existiert

          Stack Trace gibt nicht so viel:

          Code:
          // The resource does not exist or lies outside the upload directory
          		if (!$strResource || !file_exists($projectDir . '/' . $strResource) || !Path::isBasePath($uploadPath, $strResource))
          		{
          			throw new \InvalidArgumentException("Invalid resource $strResource");
          		}
          Last edited by NikSchmidt; 20.03.2025, 13:07.

          Comment


            #6
            Zitat von NikSchmidt Beitrag anzeigen
            Uncaught PHP Exception InvalidArgumentException: "Invalid resource /files/content/events/11/e01072444c0ea94437253a44c502d816.jpg" at Dbafs.php line 64
            Obwohl das Bild existiert
            Du solltest bei solchen Fehlern immer den Debug-Modus aktivieren und den Stack-Trace analysieren.
            Contao-Association unterstützen

            Comment

            Working...
            X