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',
)
);
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
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?
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
Hallo, ich habe das gleiche Problem.
Das Bild wird nicht in der Tabelle gespeichert.
Konnten Sie dieses Problem lösen? 🙁
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
Hallo, ich habe das gleiche Problem. Ich habe das Bildfeld allerdings über system.xml hinzugefügt, nicht programmgesteuert.
Wie fügen Sie dem Bild für SEO-Zwecke Alt-Tags hinzu?
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.
Alle, die Probleme beim Speichern der Datei in der Datenbank haben, aktualisieren bitte ihre Indizes.
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
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.
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?
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 :/
Pingback: Vollständigen Bildpfad im Frontend abrufen, aus benutzerdefiniertem Feld in der Datenbank hochgeladen - Gomagento2
Pingback: Vollständigen Bildpfad im Frontend abrufen, aus benutzerdefiniertem Feld in der Datenbank hochladen - MageTechWeb
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)