48 Nachrichten unter 17 Themen von 24 Mitgliedern
[SilverStripe Roadmap][Changelog]

SilverStripe-Buch Kapitel 5 - Bild im Backend mit hochladen

Seite: 1 1020 mal gelesen
  • hoferschmidt
    Community Member
    6 Beiträge

    SilverStripe-Buch Kapitel 5 - Bild im Backend mit hochladen

    Hi,

    ich bin grad (wieder) bei Kapitel 5 im Buch und versuche im Backend ins Job-DataObject einen Image-Upload mit einzubinden. Derzeit hab ich das Durchsuchen-Feld und den Upload-Button. Ich kann die Datei auswählen, aber er gibt mir den Fehler aus: "The website server has not been able to respond to your request.".

    Mein Code sieht folgendermaßen aus:


    <?php

    class NewsArticle extends DataObject {
       
       public static $db = array(
          'ArticleDate' => 'Date',
          'ArticleTitle' => 'Text',
          'ArticleThumb' => 'Image',
          'ArticleText' => 'Text'
       );
       
       static $singular_name = 'Article';
       static $plural_name = 'Articles';
       
       static $has_one = array(
          'NewsPage' => 'NewsPage',
          'ArticleThumb' => 'Image'
       );
       
       function getCMSFields() {
          
          $fields = new FieldSet(
             new TextField('ArticleTitle', 'Article Title'),
             new DateField('ArticleDate', 'Article Date'),
             new SimpleImageField('ArticleThumb', 'Article Thumb'),
             new FormAction("uploadThumb", "Submit"),
             new TextareaField('ArticleText', 'Article Text')
          );
          
          return $fields;
          
       }
       
       function uploadThumb($data, $form) {
          
          $file = new File();
          $file->loadUploaded($_FILES['ArticleThumb']);
          
          Director::redirect();
          
       }
       
    }

    ?>


    Am Ende hätte ich es gern so, dass ich vier Bilder angeben kann die er mir dann hochläd, wenn ich auf Save klicke.

    Kann mir da jemand sagen, wie ich jetzt am Besten weitermache. Tausend Dankeschön bereits vorab!


    Beste Grüße, Mario
  • hoferschmidt
    Community Member
    6 Beiträge

    Re: SilverStripe-Buch Kapitel 5 - Bild im Backend mit hochladen

    So funktionier's :-)


    <?php

    class NewsArticle extends DataObject {
       
       public static $db = array(
          'ArticleTitle' => 'Text',
          'ArticleText' => 'Text'
       );
       
       static $singular_name = 'Article';
       static $plural_name = 'Articles';
       
       static $has_one = array(
          'NewsPage' => 'NewsPage',
          'ArticleThumb1' => 'Image',
          'ArticleThumb2' => 'Image',
          'ArticleThumb3' => 'Image'
       );
       
       function getCMSFields() {
          
          $fields = new FieldSet(
             
             new TextField('ArticleTitle', 'Article Title'),
             // you don't need this, there is already an field called "Created", use this instead
             // new DateField('ArticleDate', 'Article Date'),
             new DateField('Created', 'Article Date'),
             new SimpleImageField('ArticleThumb1', 'Article Thumb 1'),
             new SimpleImageField('ArticleThumb2', 'Article Thumb 2'),
             new SimpleImageField('ArticleThumb3', 'Article Thumb 3'),
             new TextareaField('ArticleText', 'Article Text')
             
          );
          
          return $fields;
          
       }
       
    }

    ?>

Zur Zeit online: Zur Zeit ist leider niemand online.

Wir begrüßen unsere neuen Mitglieder: saerdna