Ergebnis 1 bis 14 von 14

Thema: MultiImageManagementWidget - wie einsetzen?

  1. #1
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard MultiImageManagementWidget - wie einsetzen?

    Kann mir jemand einen Tipp geben, wie ich das MultiImageManagementWidget einsetze?

    Ich suche eine einfache Möglichkeit, per DCA eine Datei hochzuladen.

    Gruß
    Olli

  2. #2
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Der valumsFileUploader kommt nicht in Frage?

  3. #3
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Doch natürlich. Gucke ich mir sofort an. Geht damit auch ein Upload Feld im Backend? Möchte beim Schreiben einer News mit Bild den Weg über die Dateiverwaltung umgehen.

  4. #4
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Seit 3.x bringt valumsFileUploader auch ein BE-Widget mit. Wir haben es auf vielfachen Wunsch implementiert, solltest du Wünsche oder allgemeine Ergänzungen zu dem Widget haben, immer her damit. Wie es eingesetzt wird findest du im Wiki und auf Github.

  5. #5
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Oh wie geil. Den Valums kannte ich, das mit dem Widget nicht. Super und danke.

  6. #6
    Contao-Nutzer
    Registriert seit
    04.05.2011.
    Ort
    Österreich / Steiermark
    Beiträge
    74

    Standard

    Zitat Zitat von lomex Beitrag anzeigen
    Kann mir jemand einen Tipp geben, wie ich das MultiImageManagementWidget einsetze?

    Ich suche eine einfache Möglichkeit, per DCA eine Datei hochzuladen.

    Gruß
    Olli
    Also mich würde es auch interessieren wie ich das MultiImageManagementWidget zum laufen bekomme.
    Finde nirgendwo im Backend eine Einstellung, um diesen zu aktivieren.

  7. #7
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Die gibt es auch nicht. Es handelt sich dabei um ein Widget, welchen du z.B. bei deinem eigenen Modul im DCA als inputType angeben kannst. Es sind jedoch weitere Einstellungen direkt im DCA nötig, die so nicht dokumentiert sind. Auch bestimmte Datenbankfelder werden benötigt (warum weiß ich nicht).

  8. #8
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von lomex Beitrag anzeigen
    Die gibt es auch nicht. Es handelt sich dabei um ein Widget, welchen du z.B. bei deinem eigenen Modul im DCA als inputType angeben kannst. Es sind jedoch weitere Einstellungen direkt im DCA nötig, die so nicht dokumentiert sind. Auch bestimmte Datenbankfelder werden benötigt (warum weiß ich nicht).
    Weiß da mal einer näheres?

    Gruß
    Nikolas

  9. #9
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Scheinbar muss ich eine Media Tabelle anlegen/angeben sowie einen Speicherpfad festlegen.

    Die Media Tabelle muss wohl neu angelegt werden und soweit ich das auf den ersten Blick erkennen konnte folgende Felder haben:

    • pid
    • tstamp
    • title
    • singleSRC
    • sorting


    Kann das wer bestätigen?
    Eventuell komme ich heute aber noch selber zum testen.

    Gruß
    Nikolas

  10. #10
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    So, nun mal auseinandergepflückt das Ganze.

    Zusätzlich zu deinem DCA sollte ein weiterer DCA für die DB Tabelle mit eben den Media Daten erstellt werden.
    Hier mal beispielhaft:

    PHP-Code:
    'fields' => array
        (
            
    'id' => array
            (
                
    'sql'                     => "int(10) unsigned NOT NULL auto_increment"
            
    ),
            
    'pid' => array
            (
                
    'sql'                     => "int(10) unsigned NOT NULL default '0'"
            
    ),
            
    'tstamp' => array
            (
                
    'sql'                    => "int(10) unsigned NOT NULL default '0'"
            
    ),
            
    'title' => array
            (
                
    'label'                  => &$GLOBALS['TL_LANG']['tl_media_table']['title'],
                
    'inputType'           => 'text',
                
    'eval'                   => array('media_editable' => 'true'),
                
    'sql'                     => "varchar(255) NOT NULL default ''"
            
    ),
            
    'singleSRC' => array
            (
                
    'sql'                     => "varchar(255) NOT NULL default ''"
            
    ),
            
    'sorting' => array
            (
                
    'sql'                     => "int(10) unsigned NOT NULL default '0'"
            
    ),
            
    'published' => array
            (
                
    'sql'              => "int(10) unsigned NOT NULL default '0'"
            
    )
        ) 
    Diese Felder sollten mindestens vorhanden sein damit alle Funktionen unterstützt werden können.
    Felder die im BE pro Bild bearbeitet werden können sollen müssen im eval Array folgenden Wert bekommen:

    PHP-Code:
     'media_editable' => 'true' 
    Siehe auch bei dem Feld "title" im obigen Beispiel.
    So können auch weitere Felder dem Widget hinzugefügt werden.

    Damit das Widget dann auch eingebunden wird muss in dem eigentlichen DCA deines Moduls folgende Angaben in dem entsprechenden Feld Array gemacht werden:

    PHP-Code:
        'inputType'            => 'multiImageManagementWidget',
        
    'eval'                    => array('media_table'=>'tl_media_table''media_path'=>'files/media''media_name'=>'offer'
    "media_table" gibt dabei den Tabellennamen eurer zuvor über den zusätzlichen DCA erstellten Tabelle an.
    "media_path" ist der Pfad wo die hochgeladenen Bilder gespeichert werden sollen.
    "media_name" ist ein optionaler Name für das hochgeladene Bild. Wird dieser Wert weggelassen wird das Bild mit dem Originalnamen gespeichert.

    Ich hoffe ich hab nichts weiter übersehen oder hier vergessen und konnte weiterhelfen.

    Gruß
    Nikolas

  11. #11
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Nachtrag:

    Um Radio Buttons, z.B. für die Titelbild Auswahl, zu den Bildern hinzuzufügen muss folgende Felddefinition im tl_media_table DCA eingetragen werden:

    PHP-Code:
    'titleImage' => array
    (
      
    'label'                  => 'Als Titelbild verwenden',
      
    'inputType'           => 'checkbox',
      
    'eval'                   => array('media_editable' => 'true''media_oneofmany'=>true),
      
    'sql'                => "int(1) unsigned NOT NULL default '0'"

    Das Feld wird zwar als Checkbox deklariert aber durch die eval Angabe "media_oneofmany=>true" wird die Checkbox in eine Radio Button Gruppe für alle Bilder umgewandelt.

    Gruß
    Nikolas

  12. #12
    Contao-Nutzer
    Registriert seit
    04.02.2013.
    Ort
    Wien
    Beiträge
    31

    Standard

    Danke Nikolas für die fehlende Dokumentation!

    Ich habe jetzt für Contao 2.11 die database.sql und dca für tl_media_table angelegt und das Upload-Widget wird richtig angezeigt.

    Wenn ich ein Bild hochlade wird es im Dateisystem richtig gespeichert, beim hochladen des Bildes entstehen jedoch Fehler, da die Klasse MultiImageManagementBackend die Contao 3 Klasse Image und Message nutzt, die in 2.11 nicht verfügbar sind.

    Wenn man auf die Funktionalität verzichten kann funktioniert es mit diesen zwei Extra-Klassen:
    PHP-Code:
    <?php

    class Image
    {
        public static function 
    resize($image$width$height$mode='')
        {
            return; 
    // don't resizte images, just fix the broken call from MultiImageManagementBackend
        
    }
    }
    <?
    php

    class Message
    {
        public static function 
    addInfo($msg)
        {
            return; 
    // don't do anything, just fix the broken call from MultiImageManagementBackend
        
    }
    }
    Danke,
    Roland
    Geändert von rolandschuetz (26.04.2014 um 15:34 Uhr)

  13. #13
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    194

    Standard

    Hallo,

    falls noch jemand das wunderbare MultiImageManagementWidget nutzt, hier noch eine kleiner Hinweis zum DCA ab Contao 3.2 (?):
    PHP-Code:
            'singleSRC' => array
            (
                
    'sql'                     => "binary(16) NULL"
            
    ), 

  14. #14
    Contao-Fan
    Registriert seit
    14.07.2011.
    Beiträge
    276

    Standard

    DANKE RUDINHIO!!!!!

    Deine Anleitung war absolut genial und das Plugin/Widget ist genial!

    Ich verwende es für Gebrauchtfahrzeuge und es funktioniert genial.
    Man erstellt dazu Pro Einsatzzweck einen Media-Table (tl_fahrzeuge_media, tl_gebaeude_media usw...), in Beziehung stehen diese dann einfach mittels id => pid.

    Schade dass dieses tolle Widget kommentarlos ins ER geworfen wird - könnte bestimmt vielen helfen.

    Ich hoffe es finden vielen diesen Thread.

    Viele Grüße
    Winchester

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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