[TYPO3-german] [TYPO3 6.2] Bilder fehlen bei Übersetzung

Michael 9pm at gmx.net
Thu Oct 2 10:04:43 CEST 2014


Guten Morgen zusammen!

Für alle die das gleiche Problem haben und die es interessiert. Ich habe das Problem wie folgt umgangen:

Ich habe mir einen eigenen ViewHelper gebaut und diesem übergebe ich die UID des aktuellen Datensatzes und den Feldnamen vom Bild (der Property-Name vom Bild des Datensatz). Außerdem habe ich mir ein FileReference Model und Repository in meiner Extension erstellt und im Setup gemapped. Im ViewHelper habe ich das FileReferenceRepository injected und greife auf eine Methode zu, die mit Hilfe der UID und dem Feldnamen (fieldname) mir den korrekten Datensatz aus der Tabelle "sys_file_reference" besorgt. Auf diesem kann ich dann "getOriginalResource()->getPublicUrl()" ausführen und bekomme den Pfad zu meinem Bild.

Viele Grüße
Michael


Quote: Michael (9.pm) wrote on Wed, 01 October 2014 15:20
----------------------------------------------------
> Hey Stefan!
> 
> Ja sind sie, sonst würde ich ja im Deutschen auch nichts gescheites zurück bekommen.
> 
> Ich versuche mal verständlich zu erkären wie ich vorgehe.
> Bei den Plugin-Einstellungen kann man Datensätze auswählen (Multi-Select). Dabei werden ja die UIDs dieser Datensätze komma-separiert als String in den Settings gespeichert. Im Controller hole ich mir dann dieses Setting und mache daraus ein Array, so dass ich z. B. folgendes erhalte array(0 => 120, 1 => 121). Danach iteriere ich über dieses Array und hole mir jedes Mal per "findByUid" den entsprechenden Datensatz mit der gegebenen UID. Wobei ich in meinem Repository die "findByUid" Methode überschrieben und [respectSysLanguage] auf TRUE gestellt habe.
> 
> Selbst wenn ich mir einen eigenen ViewHelper erstelle, der mir anhand der [l10n_parent] ID das Eltern-Element zurück liefern soll klappt das nicht. Ich bekomme immer nur den englischen Datensatz und kann nicht auf's Bild zugreifen.
> 
> Ich fange langsam an zu verzweifeln :(
> 
> Quote: bergischweb wrote on Wed, 01 October 2014 14:55
> ----------------------------------------------------
> > Das ist unverdächtig.
> > 
> > Sind die Getter und Setter im Model richtig deklariert?
> > 
> > Schau dir das hier mal an:
> > http://t3-developer.com/extbase-fluid/extensions-erweitern/fal-in-eigenen-extensions/fal-in-typo3-extensions-verwenden/
> > 
> > Da ist sehr gut beschrieben, wie man Bilder mit Extbase/Fluid einbaut.
> > 
> > Gruß
> > Stefan
> > 
> > Am 01.10.2014 um 14:48 schrieb Michael:
> > > Da steht folgendes:
> > >
> > >
> > >          'image' => array(
> > >              'exclude' => 0,
> > >              'label' =>
> > > 'LLL:EXT:lmcm_team/Resources/Private/Language/locallang_db.xlf:tx_lmcmteam_domain_model_person.image',
> > >
> > >             'config' =>
> > > \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
> > >                 'image',
> > >                 array(
> > >                     'appearance' => array(
> > >                         'createNewRelationLinkTitle' =>
> > > 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
> > >                     ),
> > >                     'minitems' => 0,
> > >                     'maxitems' => 1,
> > >                 ),
> > >                 $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
> > >             ),
> > >          ),
> > >
> > > Viele Grüße
> > > Michael
> > >
> > >
> > > Quote: bergischweb wrote on Wed, 01 October 2014 14:40
> > > ----------------------------------------------------
> > >> Hmm, das darf eigentlich nicht sein.
> > >>
> > >> Was steht im person-TCA bei image?
> > >>
> > >> Gruß
> > >> Stefan
> > >>
> > >> Am 01.10.2014 um 13:52 schrieb Michael:
> > >> > Das klappt nicht mit dem Fluid-Debugger. Ich bekomme einen PHP-Fehler
> > >> > wenn ich {person.image} debuggen will. Bei
> > >> > {person.image.originalResource} erhalte ich nur NULL. Ich debugge lokal
> > >> > mit XDebug.
> > >> >
> > >> > Viele Grüße
> > >> > Michael
> > >> >
> > >> > Quote: bergischweb wrote on Wed, 01 October 2014 12:31
> > >> > ----------------------------------------------------
> > >> >> Was steht denn im Fluid-Debugger bei deinen Bildern, wenn du englisch
> > >> >> aufgerufen hast?
> > >> >>
> > >> >> Grüße
> > >> >> Stefan
> > >> >>
> > >> >> Am 01.10.2014 um 12:09 schrieb Michael:
> > >> >> > Hi Stefan,
> > >> >> >
> > >> >> > erstmal vielen Dank für deine Antwort! :)
> > >> >> >
> > >> >> > Ich habe gefunden was du beschrieben hast. Aber leider hat das nicht
> > >> >> den
> > >> >> > erhofften Erfolg gebracht, es werden immer noch keine Bilder
> > >> >> angezeigt. :(
> > >> >> >
> > >> >> > Des weiteren muss ich mich korrigieren. Sowohl im Deutschen als
> > >> auch im
> > >> >> > Englischen habe ich an der Bild-Property folgende Klasse
> > >> >> > "TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy". Wenn
> > >> ich im
> > >> >> > Englischen allerdings ein [getOriginalResource()] darauf mache
> > >> erhalte
> > >> >> > ich NULL anstatt ein FileReference Objekt. Das führt aber auf's
> > >> Gleiche
> > >> >> > hinaus, nämlich dass ich kein Bild erhalte.
> > >> >> >
> > >> >> > Ich muss das Problem irgendwie lösen sonst habe ich ein Problem :/
> > >> >> >
> > >> >> > Viele Grüße
> > >> >> > Michael
> > >> >> >
> > >> >> > Quote: bergischweb wrote on Wed, 01 October 2014 11:18
> > >> >> > ----------------------------------------------------
> > >> >> >> Hallo Michael,
> > >> >> >>
> > >> >> >> ich nehme mal an, du hast in deinem Mitarbeiter-Datensatz ein Feld
> > >> >> >> "Mitarbeiterbild". Der language overlay Mechanismus von Typo3
> > >> >> >> funktioniert so, dass Typo3 sich die zusammen gehörenden Datensätze
> > >> >> >> immer über die Original-Uid besorgt und erst am Schluss schaut,
> > >> ob für
> > >> >> >> die gefundenen Uids Übersetzungen vorhanden sind. U.a. findet es
> > >> damit
> > >> >> >> immer nur die Original-Uid des Bilddatensatzes.
> > >> >> >>
> > >> >> >> Wenn ich es richtig verstanden habe, ist die sys_file_reference für
> > >> >> >> die Übersetzungen nicht von Bedeutung. Denn man kann die
> > >> >> >> sys_file_reference gar nicht übersetzen. Das ist im Augenblick ein
> > >> >> >> konzeptioneller Schwachpunkt bei Typo3.
> > >> >> >>
> > >> >> >> Man kann aber in der Dateiliste Bilder "übersetzen". Dabei
> > >> werden in
> > >> >> >> sys_file_metadata die übersetzungsfähigen Texte lokalisiert
> > >> >> >> abgespeichert. Versuch doch mal Spasses halber, ob du das Problem
> > >> >> >> damit lösen kannst.
> > >> >> >>
> > >> >> >> In der "Erweiterten Ansicht" in der Dateiliste muss neben dem
> > >> >> >> "Ausschneiden"-Icon ein Symbol sein, mit dem du ein Bild
> > >> >> >> lokalisieren/übersetzen kannst. Wenn du da drauf klickst,
> > >> erscheinen
> > >> >> >> Sprach-Icons unter dem Vorschaubild, bei dir also eine UK-Flagge.
> > >> >> >> Klick dadrauf, dann erhälst du ein Eingabefomular für eine Datei.
> > >> >> >> Einfach leer Abspeichern. (Oder mit englischen Texten, falls du
> > >> in der
> > >> >> >> deutschen Variante deutsche Texte stehen hast.)
> > >> >> >>
> > >> >> >> Schau mal, ob dann deine Bilder auf englisch da sind. Ich
> > >> vermute es,
> > >> >> >> aber ich bin mir nicht sicher. Der language overlay-Mechanismus ist
> > >> >> >> für Dateien sehr komplex und noch nicht ganz ausgereift.
> > >> >> >>
> > >> >> >> Beste Grüße
> > >> >> >> Stefan
> > >> >> >>
> > >> >> >> Am 01.10.2014 um 10:04 schrieb Michael:
> > >> >> >> > Hallo zusammen! :)
> > >> >> >> >
> > >> >> >> > Ich benötige Eure Hilfe, denn mich hält gerade folgendes Problem
> > >> >> auf:
> > >> >> >> > Ich habe eine Extension für Mitarbeiter erstellt und jeder
> > >> >> Mitarbeiter
> > >> >> >> > existiert als Datensatz. Die Internetseite gibt es nun auch auf
> > >> >> >> englisch
> > >> >> >> > und jeder Mitarbeiter ist korrekt übersetzt. Allerdings fehlen
> > >> >> mir die
> > >> >> >> > Mitarbeiter-Bilder wenn ich mich in der englischen Sprache
> > >> befinde.
> > >> >> >> Aber
> > >> >> >> > die englischen Datensätze haben alle Bilder, also fehlt da
> > >> nichts.
> > >> >> >> >
> > >> >> >> > Ich habe [sys_language_mode] auf "strict" stehen. Wenn ich es auf
> > >> >> >> > "content_fallback" stelle, sehe ich die Bilder. Jetzt muss
> > >> >> allerdings
> > >> >> >> > [sys_language_mode] auf "strict" stehen da es nicht alle Inhalte
> > >> >> >> auch im
> > >> >> >> > englischen geben soll.
> > >> >> >> >
> > >> >> >> > Ist das ein Extbase Bug? Denn wenn ich debugge ist da einfach
> > >> kein
> > >> >> >> > FileReference Objekt an der entsprechenden Property. Im deutschen
> > >> >> habe
> > >> >> >> > ich eine.
> > >> >> >> >
> > >> >> >> > Viele Grüße
> > >> >> >> > Michael
> > >> >> >>
> > >> >> >>
> > >> >> >> --
> > >> >> >> Bergische Webschmiede
> > >> >> >> Typo3 Dienstleistungen
> > >> >> >> :: Dipl.-Ing. Stefan Padberg
> > >> >> >> :: www.bergische-webschmiede.de
> > >> >> >>
> > >> >> >> ---
> > >> >> >> Diese E-Mail ist frei von Viren und Malware, denn der avast!
> > >> Antivirus
> > >> >> >> Schutz ist aktiv.
> > >> >> >> http://www.avast.com
> > >> >> > ----------------------------------------------------
> > >> >> >
> > >> >> >
> > >> >>
> > >> >>
> > >> >> --
> > >> >> Bergische Webschmiede
> > >> >> Typo3 Dienstleistungen
> > >> >> :: Dipl.-Ing. Stefan Padberg
> > >> >> :: www.bergische-webschmiede.de
> > >> >>
> > >> >> ---
> > >> >> Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus
> > >> >> Schutz ist aktiv.
> > >> >> http://www.avast.com
> > >> > ----------------------------------------------------
> > >> >
> > >> >
> > >>
> > >>
> > >> --
> > >> Bergische Webschmiede
> > >> Typo3 Dienstleistungen
> > >> :: Dipl.-Ing. Stefan Padberg
> > >> :: www.bergische-webschmiede.de
> > >>
> > >> ---
> > >> Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus
> > >> Schutz ist aktiv.
> > >> http://www.avast.com
> > > ----------------------------------------------------
> > >
> > >
> > 
> > 
> > -- 
> > Bergische Webschmiede
> > Typo3 Dienstleistungen
> > :: Dipl.-Ing. Stefan Padberg
> > :: www.bergische-webschmiede.de
> > 
> > ---
> > Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv.
> > http://www.avast.com
> ----------------------------------------------------
> 
> 
----------------------------------------------------




More information about the TYPO3-german mailing list