Fügen Sie in Ihrem Admin-Plugin ein Bildfeld hinzu (zum Beispiel AW Blog)

Schermafbeelding 2013-07-03 vom 14.28.17

Fügen Sie Plugins wie AW Blog ein Bildfeld hinzu

Bearbeiten in /app/code/community/AW/Blog/Block/Manage/Blog/Edit/Tab/Form.php

$fieldset->addField('Dateiname', 'Datei', Array(
'Label' => Mage::helper('Blog')->__('Bild'),
'erforderlich' => falsch,
'name' => 'Dateiname',
'after_element_html' => 'Format 125 x 118 Pixel',
));

Bearbeiten Sie in /app/code/community/AW/Blog/controllers/Manage/BlogController.php nach:

öffentliche Funktion saveAction() {

wenn ($data = $this->getRequest()->getPost()) {

Hinzufügen:

wenn(isset($_FILES['Dateiname']['Name']) && $_FILES['Dateiname']['Name'] != '') {
versuchen {
/* Hochladen wird gestartet */
$uploader = neuer Varien_File_Uploader('Dateiname');

// Jede Erweiterung würde funktionieren
$uploader->setAllowedExtensions(Array('jpg','jpeg','gif','png'));
$uploader->setAllowRenameFiles(false);

// Datei-Upload-Modus festlegen
// false -> hole die Datei direkt in den angegebenen Ordner
// true -> holt die Datei in den produktähnlichen Ordnern
// (file.jpg kommt in so etwas wie /media/f/i/file.jpg)
$uploader->setFilesDispersion(false);

// Wir legen das Medium als Upload-Verzeichnis fest
$path = Mage::getBaseDir('Medien') . DS ;
$uploader->speichern($Pfad, $_FILES['Dateiname']['Name'] );

} Fang (Ausnahme $e) {

}

//so wird der Name in der DB gespeichert
$data['Dateiname'] = $_FILES['Dateiname']['Name'];
}

Fügen Sie außerdem ein Feld „Dateiname“ in Ihrer Datenbank hinzu (Tabelle „aw_blog“).

Und schließlich stellen Sie in /app/code/community/AW/Blog/Block/Blog/Edit/Form.php sicher, dass die Variable $form wie folgt definiert ist, damit sie mit multipart/form-data funktioniert:

$form = neues Varien_Data_Form(Array(
'id' => 'Formular bearbeiten',
'Aktion' => $this->getUrl('*/*/speichern', Array('ID' => $this->getRequest()->getParam('ID'))),
'Methode' => 'posten',
'enctype' => 'multipart/Formulardaten',
)
);

16-Gedanken zu „Add an image field in your admin plugin (by example AW Blog)“

  1. Hi!

    habe gerade Ihren Beitrag gefunden, in dem genau erklärt wird, was ich brauche! Das Einzige, was bei mir nicht funktioniert, ist der Teil in:
    /app/code/community/AW/Blog/Block/Manage/Blog/Edit/Form.php

    Ich weiß nicht genau, ob der Code in der Funktion _prepareForm oder woanders sein sollte! Könnten Sie es mir bitte mitteilen?

    Grüße,
    Santi

    1. Danke für Ihre Antwort. Es enthielt tatsächlich einige Fehler. Ich habe den Beitrag aktualisiert. Es sollte richtig funktionieren. Können Sie bestätigen, ob es funktioniert?

  2. Irgendeine Idee, was ich falsch mache?

    Ich habe den gesamten Code hinzugefügt, aber die Informationen werden nicht in der Datenbank gespeichert.
    Ich sehe das Bild in der Medienkarte.

    Ich habe der Datenbank den Dateinamen mit varchar(255) utf8_general_ci hinzugefügt

    1. Hallo, ich habe das gleiche Problem.
      Das Bild wird nicht in der Tabelle gespeichert.
      Konnten Sie dieses Problem lösen? 🙁

  3. Hallo,
    hier dasselbe. Das neue Feld wird im Backend angezeigt, aber nicht in der Datenbank gespeichert und beim Speichern nicht angezeigt.

    Was fehlt (ich verwende die letzte Version von aw_blog).

    Danke

  4. Bei mir funktioniert es nicht. Ich habe nach dem Hinzufügen des obigen Codes ein Feld mit dem Namen „Dateiname“ in der Datenbank erstellt, aber nichts hat bei mir funktioniert.

  5. Danke dafür, es funktioniert super! Ich habe allerdings ein kleines Problem – wenn der Beitrag bearbeitet wird, wird das Bild aus der Datenbank gelöscht. Irgendeine Ahnung? Danke für die Hilfe

  6. Sie müssen nur die folgende Zeile hinzufügen
    $model->setFeaturedImage($_FILES['hervorgehobenes_Bild']['Name']);
    vor
    $model->speichern();
    in der Datei app/code/community/AW/Blog/controllers/Manage/BlogController.php.

  7. Gibt es eine Möglichkeit, dies in einer Erweiterung zu implementieren, anstatt den Kerncode von AW Blogs zu ändern? So dass AW Blog in Zukunft aktualisiert werden kann und Sie alle hinzugefügten zusätzlichen Felder beibehalten können?

  8. Ich habe ein Problem: Wenn Sie ein Bild hochladen und auf „Speichern“ klicken, wird es mit dem Bild gespeichert. Wenn Sie jedoch zurückgehen, den Beitragsinhalt bearbeiten und dann auf „Speichern“ klicken, wird das Bild gelöscht und Sie müssen es erneut hinzufügen :/

  9. Pingback: Vollständigen Bildpfad im Frontend abrufen, aus benutzerdefiniertem Feld in der Datenbank hochgeladen - Gomagento2

  10. Pingback: Vollständigen Bildpfad im Frontend abrufen, aus benutzerdefiniertem Feld in der Datenbank hochladen - MageTechWeb

  11. Das funktioniert bei mir großartig, vielen Dank für die Anleitung!

    Eine kleine Änderung: Die von mir verwendete Version weist eine leicht andere Dateistruktur auf.

    Anstelle von „/app/code/community/AW/Blog/controllers/Manage/BlogController.php“

    Es ist

    „app/code/community/AW/Blog/controllers/Adminhtml/Awblog/Manage/BlogController.php“

    (Nur das Hinzufügen des Adminhtml-Ordners)

Einen Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEDeutsch
Nach oben blättern